Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 将数字1000设置为1k,1000000设置为1m等格式_R_Number Formatting - Fatal编程技术网

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如果我理解这一点,我只是让他知道我的想法,除此之外,在原始问题中发布他的答案取决于他。