Wysyłam ramkę danych do html przez xtable
. Chcę dodać przecinki do liczb w kilku kolumnach tabeli. Pomyślałem, że zanim zrobiłem własną metodę wklejania, sprawdziłem, czy jest w to wbudowany sposób.dodaj przecinki do numeru dla wyjścia
Odpowiedz
może warto rozważyć przekształcenie kolumny stosując formatC
> formatC(1:10 * 100000, format="d", big.mark=",")
[1] "100,000" "200,000" "300,000" "400,000" "500,000" "600,000"
[7] "700,000" "800,000" "900,000" "1,000,000"
Ogromne podziękowania Jonathan Chang na jego odpowiedź. formatC
wygląda niezwykle użyteczną funkcję. To zainspirowało mnie do przeczytania dokumentacji, w której znalazłem prettyNum
, co okazało się całkiem eleganckim rozwiązaniem podobnego problemu, jaki miałem. Oto minimalny wykonalny przykład tego, co zrobiłem, aby dodać przecinki do liczb w ramce danych o nazwie enrollment.summary
.
xtable(prettyNum(enrollment.summary,big.mark=","))
Można również spróbować użyć argumentu fuction
## Demonstration of additional formatC() arguments.
print(fm1.table, format.args = list(big.mark = "'", decimal.mark = ","))
stąd
Jest to bardzo przydatne, ponieważ pozwala użytkownikowi zachować oryginalny format kolumn. – dayne
'format.args' formatować pewne podsumowania z dplyr
, tutaj jest boilerplate kod:
df %>% summarise(mu=mean(big_values), min=min(big_values), max=max(big_values)) %>% mutate_each(funs(prettyNum(., big.mark=",")))
Oto późna odpowiedź, ale można też użyć scales::comma_format
następująco:
library(scales)
values <- c(1000000.789, 8888.23)
comma_format(digits = 12)(values)
## [1] "1,000,000.789" "8,888.230"
Dla wartości całkowitych tylko, można po prostu użyć przecinka:
int_vals <- c(1234, 5678)
comma(int_vals)
## [1] "1,234" "5,678"
- 1. dodaj przecinki, używając String.Format dla numeru i
- 2. xunit dodaj informacje do wyjścia
- 3. Jak dodać przecinki do numeru w szybkim tempie?
- 4. ASP.net Web API - Dodaj nazwę macierzy do wyjścia
- 5. rurociągi nast do printf dla numeru formatowania
- 6. usuń niechciane przecinki w JavaScript
- 7. Rurociągi dla wejścia/wyjścia
- 8. Podwaja, przecinki i kropki
- 9. Przecinki w etykietach gnuplot
- 10. Wymień przecinki z rur, ale nie przecinki ujęty w cudzysłowy
- 11. Podziel ciąg na przecinki, ale zignoruj przecinki w cudzysłowach?
- 12. oracle varchar do numeru
- 13. Przekierowanie wyjścia bash dla pętli
- 14. sprawą dotyczącą przecinki poprzedzającej JavaScript
- 15. Regex zastąp wszystkie przecinki wartością
- 16. Przeciążenie operator wyjścia dla tablic
- 17. Testowanie PHPUnit dla wyjścia JSON
- 18. Odwołaj się do numeru kompilacji lub numeru wersji w kodzie
- 19. Stosowanie listy funkcji do numeru
- 20. JavaScript dodając ciąg do numeru
- 21. runda do najbliższego miłego numeru
- 22. odwracalny predykat "binarny do numeru"
- 23. Przecinki w WPF Pakiet URI
- 24. Wyświetlanie numeru wiersza w polu tekstowym C#
- 25. Generowanie specyficznego dla urządzenia numeru seryjnego
- 26. Przekierowanie wyjścia fprintf do portu
- 27. Przekierowanie wyjścia lldb do pliku
- 28. Niestandardowy filtr AngularJS dla tekstu/numeru
- 29. Konwersja wyjścia Ctree do formatu JSON (dla układu drzewa D3)
- 30. Dodaj do ICollection
'formatC' jest [funkcja] (https://stat.ethz.ch/R-manual/R-devel/library/base/html/formatc.html) w pakiecie 'base', a nie pakiet. W przyszłości dołącz przykłady i pokaż zachowanie w odpowiedzi. Na przykład rozważ zastąpienie 'enrollment.summary' przez' mtcars': 'prettyNum (mtcars, big.mark =", ")' zwraca macierz znaków, w której kolumny odpowiadają kolumnom w danych 'mtcars' data.frame, a liczby są wydrukowane. –
Zauważ również, że 'prettyNum' umieszcza twój wynik w pustym polu (potencjalnie niechcianym): prettyNum (c (123,1234), big.mark =", "); daje "123" "1,234". add preserve.width = "none", aby temu zapobiec. – MichaelChirico