Często znajduję siebie obliczające statystyki podsumowujące w R używając dplyr, a następnie zapisuję wynik do csv i ładuję go do Tableau, aby wygenerować tabelę, ponieważ tabele Tableau są tak proste i łatwe. Wolałbym generować tabele bezpośrednio w R.Tabela podobna do tabeli w R dla przeceny
Czy istnieje proste rozwiązanie dla zgrupowanych tabel w R?
To bardzo proste, aby wygenerować dane chciałbym:
library(tidyr)
library(dplyr)
summary_table <- iris %>%
gather(measure, value, -Species) %>%
separate(measure, into=c("attribute", "dimension")) %>%
group_by(Species, attribute, dimension) %>%
summarise(mean=mean(value))
summary_table
Source: local data frame [12 x 4]
Groups: Species, attribute [?]
Species attribute dimension mean
<fctr> <chr> <chr> <dbl>
1 setosa Petal Length 1.462
2 setosa Petal Width 0.246
3 setosa Sepal Length 5.006
4 setosa Sepal Width 3.428
5 versicolor Petal Length 4.260
6 versicolor Petal Width 1.326
7 versicolor Sepal Length 5.936
8 versicolor Sepal Width 2.770
9 virginica Petal Length 5.552
10 virginica Petal Width 2.026
11 virginica Sepal Length 6.588
12 virginica Sepal Width 2.974
Teraz chciałbym przedstawić to jako:
chciałbym spróbować kilku różnych sposoby organizowania, więc chciałbym móc łatwo grupować wiersze zamiast kolumn:
Kluczowe cechy zgrupowanych wersji wiersze:
- zmienna Grupowanie jest po lewej stronie, w osobnej kolumnie zamiast osobnego rzędu, w komórce, który obejmuje wszystkie wiersze
- pozioma komórkowych granice na poziomie grupy
Jestem nowy dla rmarkdown, ale ostatecznym celem jest posiadanie tego w dokumencie html.
Czy to możliwe?
Można rozważyć robi agregacje na własną rękę, jak również. Próbowałem 'aggregate (x = iris [, colnames (iris) [colnames (iris)! =" Gatunek "]], by = list (iris $ Gatunek), FUN = function (y) {ifelse (is.numeric (y), średnia (y), NA)} ) 'na początek. – nilsole