Como filtrar (com dplyr) para todos os valores de um grupo se o limite variável for atingido?
Aqui estão os dados fictícios:
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
Eu estou tentando formular um dataframe que contém todos os dados relacionados aos casos em que var1> 950, para mostrar todos os valores de var1 para esses casos (também aqueles que são <950) e todos os valores de var2 e descartaria todos os casos onde var1 não alcançará> 950. Tabela1 produz o quadro de dados desejado, mas eu tive que inserir as condições de filtragem manualmente. Existe uma maneira de usar esses casos df1 $ como uma condição de filtragem para extrair o mesmo quadro de dados como resultado?
Eu sou novo no R e estou tentando aprender a manipulação de dados principalmente com dplyr porque sua sintaxe é quase compreensível para leigos .. por isso, se alguém puder oferecer uma solução baseada em dplyr que seria fantástica, é claro que estou disposto a ouvir soluções baseadas em em outros pacotes também.