下面是一些利用 dplyr 对 mtcars 数据集中的数据进行分组和传播的简单代码。
library(dplyr)
mtcars.df <- mtcars %>%
group_by(disp, cyl) %>%
summarise(Qty = n())
mtcars.spread <- mtcars.df %>%
spread(cyl, Qty)
str(mtcars.spread)
当您查看“mtcars.spread”小标题的结构时,您会注意到“4”和“6”圆柱变量被列为整数,而“8”圆柱变量则包含所有这些胡言乱语。
- attr(*, "vars")= chr "disp"
- attr(*, "drop")= logi TRUE
- attr(*, "索引")=27 的列表
附于其上。我哪里做错了?使用 group_by 命令后我是否应该取消分组?
Classes ‘grouped_df’, ‘tbl_df’, ‘tbl’ and 'data.frame': 27 obs. of 4 variables:
$ disp: num 71.1 75.7 78.7 79 95.1 ...
$ 4 : int 1 1 1 1 1 1 1 1 1 1 ...
$ 6 : int NA NA NA NA NA NA NA NA NA NA ...
$ 8 : int NA NA NA NA NA NA NA NA NA NA ...
- attr(*, "vars")= chr "disp"
- attr(*, "drop")= logi TRUE
- attr(*, "indices")=List of 27
..$ : int 0
..$ : int 1
..$ : int 2
..$ : int 3
..$ : int 4
..$ : int 5
..$ : int 6
..$ : int 7
..$ : int 8
..$ : int 9
..$ : int 10
..$ : int 11
..$ : int 12
..$ : int 13
..$ : int 14
..$ : int 15
..$ : int 16
..$ : int 17
..$ : int 18
..$ : int 19
..$ : int 20
..$ : int 21
..$ : int 22
..$ : int 23
..$ : int 24
..$ : int 25
..$ : int 26
- attr(*, "group_sizes")= int 1 1 1 1 1 1 1 1 1 1 ...
- attr(*, "biggest_group_size")= int 1
- attr(*, "labels")='data.frame': 27 obs. of 1 variable:
..$ disp: num 71.1 75.7 78.7 79 95.1 ...
..- attr(*, "vars")= chr "disp"
..- attr(*, "drop")= logi TRUE