将整数转换为单词

bsc*_*idr 1 r

为了使数据可视化样式化,我希望能够使用单词显示整数(例如

“ 217年”

)而不是数字(例如2017)。

作为我要寻找的示例,下面是一个适用于小的标量整数的快速函数:

int_to_words <- function(x) {

                   index <- as.integer(x) + 1
                   words <- c('zero', 'one', 'two', 'three', 'four',
                              'five', 'six', 'seven', 'eight', 'nine',
                              'ten')
                   words[index]
}


int_to_words(5)
Run Code Online (Sandbox Code Playgroud)

bsc*_*idr 10

选项1:

使用as.english“英语”包中的函数:

library(english)

as.english(2017)
Run Code Online (Sandbox Code Playgroud)


选项2:

使用replace_number“ qdap”包中的函数。

library(qdap)

replace_number(2017)
Run Code Online (Sandbox Code Playgroud)


选项3:

使用numbers_to_words“ xfun”包中的函数。

library(xfun)

numbers_to_words(2017)
Run Code Online (Sandbox Code Playgroud)


Hac*_*k-R 5

除了我在评论中链接的功能之外,这里还有一个来自 GitHub 要点的解决方案:

source("https://gist.githubusercontent.com/hack-r/22104543e2151519c41a8f0ce042b31c/raw/01731f3176b4ee471785639533d38eda4790ab77/numbers2words.r")

numbers2words(0)
Run Code Online (Sandbox Code Playgroud)

[1]“零”

numbers2words(5)
Run Code Online (Sandbox Code Playgroud)

[1]“五”

numbers2words(50000)
Run Code Online (Sandbox Code Playgroud)

[1] 《五万》

numbers2words(50000000000000)
Run Code Online (Sandbox Code Playgroud)

[1] 《五十万亿》