将数字序列分配给数据框行
Assign a sequence of numbers to data frame rows
我正在尝试根据行位置将数字序列分配给数据框中的行。我有 330 行,我希望每组九行在新的 ID 列中命名为 1 到 9。例如,我希望第 1-9 行标记为 1-9,第 10-18 行标记为 1-9,第 19-27 行标记为 1-9 等等。
我试过使用这个代码:
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
[已编辑]
使用 dplyr
中的 mutate
这一行应该做到这一点:
test <- temp.df %>% mutate(id = rep(seq(1,9), nrow(temp.df)))
我正在尝试根据行位置将数字序列分配给数据框中的行。我有 330 行,我希望每组九行在新的 ID 列中命名为 1 到 9。例如,我希望第 1-9 行标记为 1-9,第 10-18 行标记为 1-9,第 19-27 行标记为 1-9 等等。
我试过使用这个代码:
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
[已编辑]
使用 dplyr
中的 mutate
这一行应该做到这一点:
test <- temp.df %>% mutate(id = rep(seq(1,9), nrow(temp.df)))