参见英文答案 >
Comma separator for numbers in R? 3个
我想格式化数字,以便每千个应该用空格分隔.
我想格式化数字,以便每千个应该用空格分隔.
我尝试过的:
library(magrittr) addSpaceSep <- function(x) { x %>% as.character %>% strsplit(split = NULL) %>% unlist %>% rev %>% split(ceiling(seq_along(.) / 3)) %>% lapply(paste,collapse = "") %>% paste(collapse = " ") %>% strsplit(split = NULL) %>% unlist %>% rev %>% paste(collapse = "") } > sapply(c(1,12,123,1234,12345,123456,1234567),addSpaceSep) [1] "1" "12" "123" "1 234" "12 345" "123 456" "123 456" [8] "1 234 567" > sapply(c(1,10,100,1000,10000,100000,1000000),addSpaceSep) [1] "1" "10" "100" "1 000" "10 000" "1e +05" "1e +06"
写这个临时功能我感觉非常糟糕,但由于我没有掌握正则表达式,所以这是我发现它的唯一方法.当然,如果数字以科学格式转换,它将无法工作.