我想在我的数据集中添加“周”列。本周专栏从第 1 周运行到第 5 周。我想将其添加到长数据集 (12) 行。 有没有一种方法可以让我编码以使这个函数在整个数据集中重复出现,看起来像:
身份证 | 周 | 距离 |
---|---|---|
姓名1 | 第 1 周 | 1000 |
姓名1 | 第 2 周 | 1500 |
姓名1 | 第 3 周 | 1100 |
姓名1 | 第 4 周 | 900 |
姓名1 | 第 5 周 | 1400 |
姓名2 | 第 1 周 | 1300 |
姓名2 | 第 2 周 | 1050 |
姓名2 | 第 3 周 | 1500 |
姓名2 | 第 4 周 | 1190 |
姓名2 | 第 5 周 | 950 |
姓名3 | 第 1 周 | 1350 |
姓名3 | 第 2 周 | 1200 |
我尝试过这样做:
df %>% mutate(week = c(1:5))
但是,我遇到了这个错误:
week
尺寸必须为 12 或 1,而不是 5。
c(1:5)
相当于 c(1,2,3,4,5)
。基本上,错误消息告诉您正在尝试将长度为 5 的新列添加到具有 12 行的数据框中。像这样的东西应该有效:
mutate(df, week = rep(c(1:5), length.out = nrow(df)))
通过将向量
c(1:5)
包装在rep中,我们重复它,直到获得length.out
参数中指定的长度向量,我们可以将其设置为nrow(df)
,即数据帧中的行数。