Ваше предложение почти работает, вам просто нужно with
, когда вы получите x
.
> df <- expand.grid(A1=(1:3)*10,A2=1:3,A3=c("this","that"))
> x <- with(df, (A1 == 30 & A2 == 2 & A3 == "this"))
> subset(df, x)
A1 A2 A3
6 30 2 this
Вы также можете получить подмножество таким образом.
> df[x,]
A1 A2 A3
6 30 2 this
Вы также можете поместить x
во фрейм данных df
; в противном случае переупорядочение фрейма данных может испортить что-то вроде
df$x <- with(df, (A1 == 30 & A2 == 2 & A3 == "this"))
subset(df,x)