R 根据数据表的行数,添加数字从1到7的列

R 根据数据表的行数,添加数字从1到7的列,r,ggplot2,datatable,R,Ggplot2,Datatable,如何向数据表(时间序列)中添加一列,该列包含从1到7的数字,具体取决于行数例如:我的数据表有70行,然后我想添加一个列,列出1的10倍,然后是2的10倍,以此类推。我需要这个专栏给我有7种颜色可用的绘图上色。列的数量总是不同的,因此将数字从1添加到7应该根据列的数量进行操作。 例如,我的数据表可以如下所示(但看起来总是不同的,因为我从外部服务器获取数据表): set.seed(123) dt.data使用rep并将length.out指定为数据帧中的行数 dt.data$new_col <

如何向数据表(时间序列)中添加一列,该列包含从1到7的数字,具体取决于行数例如:我的数据表有70行,然后我想添加一个列,列出1的10倍,然后是2的10倍,以此类推。我需要这个专栏给我有7种颜色可用的绘图上色。列的数量总是不同的,因此将数字从1添加到7应该根据列的数量进行操作。 例如,我的数据表可以如下所示(但看起来总是不同的,因为我从外部服务器获取数据表):

set.seed(123)

dt.data使用
rep
并将
length.out
指定为数据帧中的行数

dt.data$new_col <- rep(1:7, length.out = nrow(dt.data))


dt.data$new\u col数字应以1开头,以7结尾,这意味着1和7之间的数字不应随机相加。首先是所有的1,然后是所有的2,等等。最后是所有的7。这些数字不是随机相加的。它们被分配为1,2,…7,1,2..7等。我已经更新了答案,以增加顺序包含它们。
dt.data$new_col <- rep(1:7, length.out = nrow(dt.data))
dt.data$new_col <- sort(rep(1:7, length.out = nrow(dt.data)))
dt.data$new_col <- rep(1:7, each = nrow(dt.data)/7, length.out = nrow(dt.data))