昨天I posted讲了如何在组值内展开/完成.
在一个最小的示例DF上测试解决方案效果很好,但在我的真实数据上,几个小时后就不能计算了.
我的dplyr管道流程如下所示:
mydf <- mydf |>
group_by_at(vars(id:trial_day)) |>
summarise_at(vars(bla:last_col()), sum) |>
complete(trial_day = 1:14)
我试着用complete()
换成expand()
,但这样做的结果是只保留了分组的var,其他var被丢弃了.
df <- data.frame(
id = rep('a', 5),
x = 6:10,
y = 5:1
)
# returns all cols
df |>
group_by(id) |>
complete(x = 1:10)
# only returns id and x, no y
df |>
group_by(id) |>
expand(x = 1:10)
但我不确定扩张是否会更快.
我try 在DFladder = data.frame(day = 1:14)
上进行右连接,但这导致扩展行具有用于分组变量的NA,我希望在发生扩展时填充这些行.
有没有比我用complete()
更快的方法得到同样的结果?