有人知道
准确来说,我有一个类似这样的数据框:
现在我想使用
这会导致一个错误。然而,使用没有分组的
tidyr::complete()
是否支持通过 group_by()
进行分组吗?准确来说,我有一个类似这样的数据框:
df <- data.frame(
"ID" = rep(1:2, each = 2),
"Col1" = c("A", NA, "AA", NA),
"Col2" = c("B", "C", "BB", "CC"))
现在我想使用
complete()
和group_by()
函数来计算每个组内所有可能的组合!df %>%
group_by(ID) %>%
complete(Col1, Col2)
Error in .Call("dplyr_left_join_impl", PACKAGE = "dplyr", x, y, by_x, :
negative length vectors are not allowed
这会导致一个错误。然而,使用没有分组的
complete()
是可行的,但那不是我想要的。df %>%
complete(Col1, Col2)
问题:
- 我做错了什么,还是
complete()
在group_by
中不起作用? - 如果是这样,我该怎么做(最好不使用循环)?
library(data.table);setDT(df)[,CJ(Col1, Col2, unique=TRUE), by = ID]
- akrun