【发布时间】:2018-04-10 12:05:19
【问题描述】:
我正在寻找最简洁的方法来在数据帧中创建一个以 id 开头的零序列。
df <- data.frame (id=rep(1:10,each=10))
如果我想从 1 开始序列,可以这样做:
library(dplyr)
df<-df %>% group_by(id) %>%
mutate(start = 1:n()) %>%
ungroup()
但是从 0 开始不起作用,因为它会创建一个额外的数字(0-10 与 1-10 相比)所以我需要添加一个额外的行,有没有办法一步完成,也许使用dplyr?显然有许多变通方法,例如创建另一个数据集并将其附加到原始数据集。
df1 <- data.frame (id=1:10,
start=0)
new<-rbind(df,df1)
这似乎有点尴尬,而且不那么整洁。我知道您可以在 dplyr 中使用 rbind,但不确定如何将所有内容合并到一个步骤中,特别是如果您有其他非定时变化变量只想复制到新行中。有兴趣看看建议,谢谢。
【问题讨论】: