为了设置数据可视化样式,我希望能够使用单词显示整数(例如
"二千一十七"
)而非数字(例如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)
答案 0 :(得分:6)
选项1:
使用'english'包中的as.english
函数:
library(english)
as.english(2017)
选项2:
使用'qdap'包中的replace_number
功能。
library(qdap)
replace_number(2017)
选项3:
使用'xfun'包中的numbers_to_words
功能。
library(xfun)
numbers_to_words(2017)
答案 1 :(得分:4)
除了我在评论中链接的功能外,这里还有来自GitHub要点的另一个解决方案:
/// Creates a raw buffer over the contiguous bytes in the given typed buffer.
///
/// - Parameter buffer: The typed buffer to convert to a raw buffer. The
/// buffer's type `T` must be a trivial type.
@_inlineable
public init<T>(_ buffer: UnsafeMutableBufferPointer<T>) {
self.init(start: buffer.baseAddress!,
count: buffer.count * MemoryLayout<T>.stride)
}
[1]&#34;零&#34;
source("https://gist.githubusercontent.com/hack-r/22104543e2151519c41a8f0ce042b31c/raw/01731f3176b4ee471785639533d38eda4790ab77/numbers2words.r")
numbers2words(0)
[1]&#34;五&#34;
numbers2words(5)
[1]&#34;五万&#34;
numbers2words(50000)
[1]&#34;五十万亿&#34;