如何使用 group_by() 和 rep_len() r

How to use group_by() with rep_len() r

如果我需要一个虚拟示例,请告诉我,但本质上我有一个子组的 df,每个子组的长度不同(通常为 30-35k 值)。我想用 c(1:200) 的部分向量回收来绑定一个向量。从 我想我可以使用 rep_len() 来绕过数据帧的反部分回收。问题是,我无法在 rep_len() 中定义 length.out,因为 length.out 随每个子组而变化。任何帮助,将不胜感激。我试过这样做:

df_new <- df %>%
group_by(subgroup) %>%
mutate(newcol <- rep_len(1:200, length.out=.))

抛出了一个无效的 length.out 错误。我也试过了

df_new <- df %>%
group_by(subgroup) %>%
mutate(newcol <- rep_len(1:200, length.out=nrow(.)))

但是这样会报错length.out是我整个df的长度,不是之前的子组。如有任何帮助,我们将不胜感激!

dplyr 包有一个可以工作的计数函数n()

mtcars %>%
     group_by(cyl) %>%
     mutate(newcol = rep_len(1:200, length.out=n()))

同样在 mutate 语句中它应该是“=”而不是“<-”