R'de virgülle ayrılmış büyük sayıları gösterme işlevi var mı?
dan yani 1000000için 1,000,000.
Yanıtlar:
Biçimi veya prettyNum'u deneyebilirsiniz, ancak her iki işlev de bir karakter vektörü döndürür. Bunu sadece baskı için kullanırım.
> prettyNum(12345.678,big.mark=",",scientific=FALSE)
[1] "12,345.68"
> format(12345.678,big.mark=",",scientific=FALSE)
[1] "12,345.68"
DÜZENLEME: Michael Chirico'nun yorumda dediği gibi:
Bunların, yazdırılan dizeleri boşlukla doldurmak gibi yan etkileri olduğunu unutmayın, örneğin:
> prettyNum(c(123,1234),big.mark=",")
[1] " 123" "1,234"
Ekle trim=TRUEiçin formatya preserve.width="none"hiç prettyNumBunu önlemek için:
> prettyNum(c(123,1234),big.mark=",", preserve.width="none")
[1] "123" "1,234"
> format(c(123,1234),big.mark=",", trim=TRUE)
[1] "123" "1,234"
prettyNum(c(123,1234),big.mark=","):; verir " 123" "1,234". eklemek trim=Tiçin formatya preserve.width="none"hiç prettyNumBunu önlemek için.
format(c(12345678,0.001234),big.mark=",", trim=TRUE, digits = 2, scientific = FALSE)"" 12,345,678.0000 "" 0.0012 "verir, böylece yeterince görülebilir. yani, yerler biçimlendirmesi öğe öğe temelinde yapılmaz. Beni yakaladı, bunu paylaşmak istedim.
scientificArgümanlar arasında hangisinin saklı olduğunu bulmak için epey zaman harcadım format. Teşekkürler!
Bakınız ?format:
> format(1e6, big.mark=",", scientific=FALSE)
[1] "1,000,000"
>
Gönderilen diğer cevaplar açıkça işe yarıyor - ama ben her zaman
library(scales)
comma_format()(1000000)
comma_formatgerçek sayılar idare etmedi ama şimdi aşağıdakileri yapabilirsiniz: scales::comma_format(digits = 12)(1000000.789)aşağıda sonuçları: "1,000,000.789".
Bence Joe'nun MatthewR'a yaptığı yorum en iyi yanıtı veriyor ve vurgulanması gerekiyor:
Eylül 2018 itibariyle, scalespaket (parçası Tidyverse) tam olarak şunu yapıyor:
> library(scales)
> x <- 10e5
> comma(x)
[1] "1,000,000"
scalesPaket ile çok güzel oynuyor gibi görünmektedir ggplot2Rakamsal araziler ve grafikler nasıl görüntüleneceğini ince kontrolü için izin.