如果达到变量限制,如何(使用dplyr)过滤组中的所有值?

如果达到变量限制,如何(使用dplyr)过滤组中的所有值?,r,dplyr,data-manipulation,R,Dplyr,Data Manipulation,以下是虚拟数据: cases <- rep(1:5,times=2) var1 <- as.numeric(c(450,100,250,999,200,500,980,10,700,1000)) var2 <- as.numeric(c(111,222,333,444,424,634,915,12,105,152)) maindata1 <- data.frame(cases,var1,var2) df1 <- maindata1 %>% filte

以下是虚拟数据:

cases <- rep(1:5,times=2)
var1 <- as.numeric(c(450,100,250,999,200,500,980,10,700,1000))
var2 <- as.numeric(c(111,222,333,444,424,634,915,12,105,152))

maindata1 <- data.frame(cases,var1,var2)

df1 <-  maindata1 %>%
  filter(var1 >950) %>%
  distinct(cases) %>%
  select(cases)

table1 <- maindata1 %>%
  filter(cases == 2 | cases == 4 | cases == 5) %>%
  arrange(cases)

> table1
  cases var1 var2
1     2  100  222
2     2  980  915
3     4  999  444
4     4  700  105
5     5  200  424
6     5 1000  152
案例%
安排(案件)
>表1
病例var1 var2
1     2  100  222
2     2  980  915
3     4  999  444
4     4  700  105
5     5  200  424
6     5 1000  152
我试图建立一个数据框架,其中包含与var1>950的情况相关的所有数据,因此它将显示这些情况下var1的每个值(以及由
cases
定义的每个组中过滤的
max(var1)

maindata1 %>%
  group_by(cases) %>%
  filter(max(var1) > 950) %>%
  arrange(cases)

#   cases var1 var2
# 1     2  100  222
# 2     2  980  915
# 3     4  999  444
# 4     4  700  105
# 5     5  200  424
# 6     5 1000  152

你能用10行而不是250行组成一个例子,并以表格的形式发布所需的结果吗?这可能就是你想要的:
mutate(maindat1,var2=replace(var2,var1<950,NA))
Vlo,对不起mutate()没有带来期望的结果。我按照rmuc8的建议编辑了原始帖子,也许我的目标现在更容易理解了?这正是我想要的。谢谢!!我曾经创建过与基本包类似的东西,现在当我将该脚本与这个dplyr版本进行比较时,我比以前更喜欢dplyr。