R 为什么complete()会在我的数据中创建重复的行?
当我使用complete()函数填充数据中没有案例的行时,我发现它也在创建许多重复的行。可以使用unique()函数删除这些行,但首先我想了解如何避免生成所有这些额外的行R 为什么complete()会在我的数据中创建重复的行?,r,tidyr,R,Tidyr,当我使用complete()函数填充数据中没有案例的行时,我发现它也在创建许多重复的行。可以使用unique()函数删除这些行,但首先我想了解如何避免生成所有这些额外的行 library(dplyr) library(tidyr) # An incomplete table mtcars %>% group_by(vs, cyl) %>% count() # complete() creates a table with many duplicate rows tem
library(dplyr)
library(tidyr)
# An incomplete table
mtcars %>%
group_by(vs, cyl) %>%
count()
# complete() creates a table with many duplicate rows
temp <-
mtcars %>%
group_by(vs, cyl) %>%
count() %>%
complete(vs = c(0, 1), cyl = c(4, 6, 8), fill = list(n = 0))
unique(temp)
库(dplyr)
图书馆(tidyr)
#不完整的桌子
mtcars%>%
组别(对,共青团)%>%
计数()
#complete()创建一个包含许多重复行的表
温度%
组别(对,共青团)%>%
计数()%>%
完成(vs=c(0,1),气缸=c(4,6,8),填充=列表(n=0))
唯一(临时)
这在@aosmith的评论中得到了回答
重复项来自分组数据。使用ungroup
解组可以解决以下问题:
temp <-
mtcars %>%
group_by(vs, cyl) %>%
count() %>%
ungroup() %>%
complete(vs = c(0, 1), cyl = c(4, 6, 8), fill = list(n = 0))
temp%
组别(对,共青团)%>%
计数()%>%
解组()%>%
完成(vs=c(0,1),气缸=c(4,6,8),填充=列表(n=0))
我认为这是因为您的数据集是分组的。在complete
之前,尝试通过ungroup
取消分组。可能有点相关。谢谢@aosmith,这确实是问题所在。