私は以下のようなdata.frameを持っています
_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
_
10歳未満で同時に80歳以上の行をフィルタリングする必要があります。最も簡単な方法でそれを行うにはどうすればよいですか? 1つの条件に対してfilter(data.frame, age > 80)
を使用できますが、2つの条件に対して同時にそれを行う方法がわかりませんか?
以下は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)
10から80までの値が必要か、10未満から80以上の値が必要かは質問からわかりません。これらの値が必要な場合は、filter
に複数の引数を入れることができます。 10未満および80を超える値が必要な場合は、|
を「または」演算子として使用できます。
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
ここで、OR(|)条件を使用するか、実際に何をしようとしているかに基づいてAND(&)条件を使用できます。