【发布时间】:2018-01-24 20:30:11
【问题描述】:
给定一个数据集,例如:
set.seed(134)
df<- data.frame(ID= rep(LETTERS[1:5], each=2),
condition=rep(0:1, 5),
value=rpois(10, 3)
)
df
ID condition value
1 A 0 2
2 A 1 3
3 B 0 5
4 B 1 2
5 C 0 3
6 C 1 1
7 D 0 2
8 D 1 4
9 E 0 1
10 E 1 5
对于每个 ID,当 condition==0 的值小于 condition==1 的值时,我想保留两个观察值。当条件==0 的值大于条件==1 时,我只想保留条件==0 的行。
返回的子集应该是这样的:
ID condition value
1 A 0 2
2 A 1 3
3 B 0 5
5 C 0 3
7 D 0 2
8 D 1 4
9 E 0 1
10 E 1 5
使用 dplyr 的第一步是:
df %>% group_by(ID) %>%
但不知道从那里去哪里。
【问题讨论】: