我的数据框看起来像这样。
data=data.frame(group=c("A","B","C","A","B","C","A","B","C"),
time= c(rep(1,3),rep(2,3), rep(3,3)),
value=c(0,1,1,0.1,10,20,10,20,30))
group time value
1 A 1 0.2
2 B 1 1.0
3 C 1 1.0
4 A 2 0.1
5 B 2 10.0
6 C 2 20.0
7 A 3 10.0
8 B 3 20.0
9 C 3 30.0
我想强调我在时间点1的搜索,并基于该值 时间点以从以后的时间点中筛选出不满足条件的组。
我想删除在时间点1大于0.5的组的值 且小于0.1。 我希望我的data.frame看起来像这样。
group time value
1 A 1 0.2
2 A 2 0.1
3 A 3 10.0
我们非常感谢您的帮助。
答案 0 :(得分:1)
您可以选择value
中time = 1
在0.1和0.5之间的组。
library(dplyr)
data %>%
group_by(group) %>%
filter(between(value[time == 1], 0.1, 0.5))
# group time value
# <chr> <dbl> <dbl>
#1 A 1 0.2
#2 A 2 0.1
#3 A 3 10