我正在使用 来library(english)让我的 rmarkdown 文档正确符合 APA 指南,了解何时将数字写成单词。超级方便,我可以将我的值包含进去english(),结果就正确了。
显然,当以数字开头的句子时,它需要将第一个字母大写,所以我想我可以将其换行english(1),tools::toTitleCase()但它不喜欢它:
Error in toTitleCase(english(1)) : 'text' must be a character vector
Run Code Online (Sandbox Code Playgroud)
toupper(english(1))正如人们所期望的那样工作:
> toupper(english(1))
[1] "ONE"`
Run Code Online (Sandbox Code Playgroud)
我有一个可行的解决方案:
toTitleCase(as.character(english(1)))
对我来说很好,但是...
...这里发生了什么?为什么能够按照您的预期toupper()处理输出,但却抛出错误?english(1)toTitleCase()
代表:
install.packages("english")
library(engilsh)
library(tools)
toTitleCase(english(1))
toupper(english(1))
Run Code Online (Sandbox Code Playgroud)
编辑:
我是个白痴:有一个 function english::Words(1),它正是我想要的。