分隔千我想格式化數字,這樣每千應該用空格隔開。如何與空間
我已經試過:
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, 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"
我感覺很不好寫了這個臨時的功能,但我還沒有掌握正則表達式,這是我發現這樣做的唯一途徑。當然,如果數字以科學的格式轉換,它將無法工作。
我能問你爲什麼要做這個?它主要用於_display_還是主要用於_manipulation_(即,您是否試圖製作一個每千之間有空格的漂亮報告,或者您是否嘗試在R中執行一些不尋常的數學運算?)? – TARehman
這只是爲了美觀的目的! –
確實是重複的。但我認爲這不應該結束。我不是一個非常好的英語溝通者,因此有時很難找到你在找什麼(因爲我只找到一個C解決方案..)。具有不同標題的這個問題可以允許其他用戶在他們使用不同的搜索條件時找到解決方案! (和避免他們發表自己丑陋的臨時功能;)) –