添加一栏来总结一周

问题描述 投票:0回答:1

我想在我的数据集中添加“周”列。本周专栏从第 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。

r dplyr mutate
1个回答
0
投票

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)
,即数据帧中的行数。

© www.soinside.com 2019 - 2024. All rights reserved.