[英]Creating a table from summarized data using dplyr
我想使用 dplyr 從匯總數據創建匯總表。
library(dplyr)
mtcars %>% group_by(cyl, gear) %>% summarise(avg_wt = mean(wt))
這是 output:
# A tibble: 8 x 3
# Groups: cyl [3]
cyl gear avg_wt
<dbl> <dbl> <dbl>
1 4 3 2.46
2 4 4 2.38
3 4 5 1.83
4 6 3 3.34
5 6 4 3.09
6 6 5 2.77
7 8 3 4.10
8 8 5 3.37
如何生成此 output?
列是 cyl,行是齒輪:
4 6 8
3 2.46 3.34 4.10
4 2.38 3.09 NA
5 1.83 2.77 3.37
library(dplyr)
library(tidyr)
library(tibble)
mtcars %>%
group_by(cyl, gear) %>%
summarise(avg_wt = mean(wt)) %>%
pivot_wider(
id_cols = "gear",
names_from = "cyl",
values_from = "avg_wt"
) %>%
column_to_rownames("gear")
#> 4 6 8
#> 3 2.465000 3.33750 4.104083
#> 4 2.378125 3.09375 NA
#> 5 1.826500 2.77000 3.370000
嘗試這個:
mytable <- mtcars %>% group_by(cyl, gear) %>% summarise(avg_wt = mean(wt))
tidyr::spread(mytable, cyl, avg_wt)
您應該得到以下信息:
gear `4` `6` `8`
<dbl> <dbl> <dbl> <dbl>
1 3 2.46 3.34 4.10
2 4 2.38 3.09 NA
3 5 1.83 2.77 3.37
希望這對您有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.