如何解决为数据框行分配一个数字序列
我正在尝试根据行位置为数据帧中的行分配一个数字序列。我有330行,我希望每组9行在新的ID列中被命名为1到9。例如,我要标记为1-9的第1-9行,标记为1-9的第10-18行,标记为1-9的第19-27行,依此类推。
我尝试使用此代码:
test <- temp.df %>% mutate(id = seq(from = 1,to = 330,along.width= 9))
test
但最终只是创建一个新列来标记1-330行,如下所示。
Time Temperature ID
09:36:52 25.4 1
09:36:59 25.4 2
09:37:07 25.4 3
09:37:14 25.4 4
09:37:21 25.4 5
09:37:29 25.4 6
09:37:36 25.4 7
09:37:43 25.5 8
09:37:51 25.5 9
09:37:58 25.5 10
实现目标的最佳方法是什么?
解决方法
我认为,如果您可以提供data.frame temp.df
的摘要,则对您的帮助会更容易。也许以下几行可以通过将其添加到data.frame中来为您提供帮助,但是,这不是一个非常灵活的解决方案,而是基于您提供的信息。
n_repeated <- 9 #block of ID
N_rows <- 330 #number of observations
df <- data.frame(id = rep(seq(1,n_repeated ),N_rows ))
head(df,n = 15)
#> head(df,n = 15)
# id
# 1 1
# 2 2
# 3 3
# 4 4
# 5 5
# 6 6
# 7 7
# 8 8
# 9 9
# 10 1
# 11 2
# 12 3
# 13 4
# 14 5
# 15 6
[已编辑]
使用mutate
中的dplyr
,此行应做到:
test <- temp.df %>% mutate(id = rep(seq(1,9),nrow(temp.df)))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。