【发布时间】:2021-05-28 06:35:06
【问题描述】:
对于由“id”定义的每个组,我想选择“x”和“y”列的第一行中的值,并将所有后续值替换为第一个值.
一些数据:
id Visit x y
1 1 0 1
1 2 1 2
1 3 2 8
2 9 1 11
2 10 12 14
我想要:
id Visit x y
1 1 0 1
1 2 0 1 # <- x & y replaced with first values of 'id' 1
1 3 0 1 #
2 9 1 11
2 10 1 11 # <- x & y replaced with first values of 'id' 2
我试过了:
df1 <- df %>%
arrange(id, Visit) %>%
group_by(id) %>%
fill(x, y,
.direction = 'down',)
但是,似乎并没有这样做。有人可以帮忙吗?
【问题讨论】:
-
tidyr::fill旨在填充缺失值,而不是填充现有值。也就是说,当您有NA存在时,它就可以工作。 -
哦,我明白了。谢谢你的澄清!