-1
我有一个数据帧(df
):其中包含条目的顺序两因素GROUP_BY然后添加行数R dplyr
a <- c("up","up","up","up","down","down","down","down")
b <- c("l","r","l","r","l","l","r","r")
df <- data.frame(a,b)
我想添加第三个柱(c
),通过a
列分组和b
,看起来是这样的:
a b c
1 up l 1
2 up r 1
3 up l 2
4 up r 2
5 down l 1
6 down l 2
7 down r 1
8 down r 2
我曾尝试使用dplyr解决方案都没有奏效:
order <- df %>%
group_by(a) %>%
group_by(b) %>%
mutate(c = row_number()) # This counts the order based on `b`, ignoring `a`
order <- df %>%
group_by(a) %>%
group_by(b) %>%
mutate(c = seq_len(n())) # This counts the order based on `b`, ignoring `a`
我宁愿如果可能的话用dplyr和管道保持,但其他建议,欢迎
group_by(a,b)而不是2个group_by语句有什么问题? –
请注意,默认情况下'group_by'会覆盖以前的组。要么使用单个调用,要么使用'add = TRUE'。 – Axeman