我正在使用library(english)
来使我的rmarkdown文档符合APA关于何时将数字写成单词的指导方针.非常方便,我只需将我的值包装在english()
中,它们就会正确地出来.
显然,当以数字开始一个句子时,它需要将第一个字母大写,所以我想我可以将english(1)
包装在tools::toTitleCase()
中,但它不喜欢这样:
Error in toTitleCase(english(1)) : 'text' must be a character vector
toupper(english(1))
的工作正如人们可能预期的那样:
> toupper(english(1))
[1] "ONE"`
我有一个可行的解决方案:
toTitleCase(as.character(english(1)))
个
我没意见但是...
...这是怎么回事?为什么toupper()
能够像您预期的那样处理english(1)
的输出,而toTitleCase()
却抛出错误?
Reprex:
install.packages("english")
library(engilsh)
library(tools)
toTitleCase(english(1))
toupper(english(1))
编辑:
我是个白痴:有个函数english::Words(1)
,它的功能完全是我想要的.