【发布时间】:2021-04-25 18:26:00
【问题描述】:
对于以下数据框:
A<-c('A','A','A','B','B','B','B','B','C','C','C','C','D','D','D','D','D','D')
A<-data.frame(A)
每次“A”组发生变化时,如何添加一列倒数......如: 期望的输出:
desired_output
感谢您的帮助。
【问题讨论】:
对于以下数据框:
A<-c('A','A','A','B','B','B','B','B','C','C','C','C','D','D','D','D','D','D')
A<-data.frame(A)
每次“A”组发生变化时,如何添加一列倒数......如: 期望的输出:
desired_output
感谢您的帮助。
【问题讨论】:
我们可以在按'A'分组后在row_number()上使用rev
library(dplyr)
A <- A %>%
group_by(A) %>%
mutate(desired = rev(row_number())) %>%
ungroup
-输出
# A tibble: 18 x 2
# A desired
# <chr> <int>
# 1 A 3
# 2 A 2
# 3 A 1
# 4 B 5
# 5 B 4
# 6 B 3
# 7 B 2
# 8 B 1
# 9 C 4
#10 C 3
#11 C 2
#12 C 1
#13 D 6
#14 D 5
#15 D 4
#16 D 3
#17 D 2
#18 D 1
或者另一种选择是使用: 到 1 创建序列
A %>%
group_by(A) %>%
mutate(desired = n():1) %>%
ungroup
【讨论】: