gpt4 book ai didi

按组重复序列

转载 作者:行者123 更新时间:2023-12-02 09:10:15 25 4
gpt4 key购买 nike

我有以下数据框:

a <-  data.frame(
group1=factor(rep(c("a","b"),each=6,times=1)),
time=rep(1:6,each=1,times=2),
newcolumn = c(1,1,2,2,3,3,1,1,2,2,3,3)
)

我正在寻找使用 rep by group 函数复制 newcolumn 的输出(time 变量用于排序目的)。换句话说,对于按时间排序的每个组,我如何分配序列 1,1,2,2,n,n?我还需要一个通用的解决方案(如果组的行数不同,或者我想重复值 3,10,n 次)。

例如,我可以用这个生成那个序列:newcolumn=rep(1:3,each=2,times=2)

但这在 group1 具有不同行的 group by 语句中不起作用。

最佳答案

我们在按'group1'分组后在rep中指定length.out

library(dplyr)
a %>%
group_by(group1) %>%
mutate(new = rep(seq_len(n()/2), each = 2, length.out = n()))

注意:eachtimes 不在同一个调用中使用。我们要么使用each,要么使用times

编辑:基于@r2evans 的评论

关于按组重复序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53195658/

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