R 将数字1000设置为1k,1000000设置为1m等格式
我需要用这样的缩写来显示数字R 将数字1000设置为1k,1000000设置为1m等格式,r,number-formatting,R,Number Formatting,我需要用这样的缩写来显示数字 1 shows as 1 999 shows as 999 1000 shows as 1K 999000 shows as 999K 1000000 shows as 1M 1500000 shows as 1.5M 1000000000 shows as 1G etc... 对于其他语言,我在stackoverflow上看到过这样的问题(对于Javascript,至少有三次): …但我找不到R的任何内容。我缺少什么吗?使用dplyr::case\u时
1 shows as 1
999 shows as 999
1000 shows as 1K
999000 shows as 999K
1000000 shows as 1M
1500000 shows as 1.5M
1000000000 shows as 1G
etc...
对于其他语言,我在stackoverflow上看到过这样的问题(对于Javascript,至少有三次):
…但我找不到R的任何内容。我缺少什么吗?使用
dplyr::case\u时
:
so_formatter <- function(x) {
dplyr::case_when(
x < 1e3 ~ as.character(x),
x < 1e6 ~ paste0(as.character(x/1e3), "K"),
x < 1e9 ~ paste0(as.character(x/1e6), "M"),
TRUE ~ "To be implemented..."
)
}
test <- c(1, 999, 1000, 999000, 1000000, 1500000, 1000000000, 100000000000)
so_formatter(test)
# [1] "1"
# [2] "999"
# [3] "1K"
# [4] "999K"
# [5] "1M"
# [6] "1.5M"
# [7] "To be implemented..."
# [8] "To be implemented..."
so_formatter您的答案比建议中的答案更清晰@akrun用于将问题标记为重复问题。@p如果我理解这一点,我只是让他知道我的想法,除此之外,在原始问题中发布他的答案取决于他。