J'ai data.frame comme ci-dessous
ID country age
1 X 83
2 X 15
3 Y 2
4 Y 12
5 X 2
6 Y 2
7 Y 18
8 X 85
Je dois filtrer les lignes pour les moins de 10 ans et en même temps au-dessus de 80 ans. Comment puis-je le faire de la manière la plus simple? Pour une condition, je peux utiliser filter(data.frame, age > 80)
mais je ne sais pas comment le faire pour deux conditions en même temps?
Ce qui suit peut également vous aider ici en utilisant dplyr
library(dplyr)
##Creating variable dat here which has values in it.
dat <- read.table(text = "ID country age
1 X 83
2 X 15
3 Y 2
4 Y 12
5 X 2
6 Y 2
7 Y 18
8 X 85",
header = TRUE)
dat %>%
filter(age<10 | age>80)
Je ne suis pas sûr de la question si vous voulez les valeurs entre 10 et 80 ou celles en dessous de dix et au-dessus de 80. Si vous voulez celles entre, vous pouvez mettre plusieurs arguments dans filter
. Si vous voulez ceux en dessous de 10 et au-dessus de 80, vous pouvez utiliser |
comme opérateur "ou":
library(tidyverse)
data %>%
filter(age > 10,
age < 80)
data %>%
filter(age < 10 | age > 80)
dat <- read.table(text = "ID country age
1 X 83
2 X 15
3 Y 2
4 Y 12
5 X 2
6 Y 2
7 Y 18
8 X 85",
header = TRUE)
x<-filter(dat, dat$age>80&dat$age<10)
x
Maintenant, vous pouvez soit utiliser la condition OR (|)), soit utiliser la condition AND (&) en fonction de ce que vous essayez de faire.