gpt4 book ai didi

r - 将 tidyr::complete 与 group_by 一起使用

转载 作者:行者123 更新时间:2023-12-02 14:33:15 26 4
gpt4 key购买 nike

有谁知道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)

问题:

  1. 我是否做错了什么,或者 complete() 根本无法与 group_by 配合使用?
  2. 如果是这样,我该如何执行此操作(最好不使用循环)?

最佳答案

您可以使用 completegroup_by 来完成此操作,但您必须使用 do 语句:

df %>% 
group_by(ID) %>%
do(complete(., Col1, Col2, fill = list(ID = .$ID)))

关于r - 将 tidyr::complete 与 group_by 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32973050/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com