У меня есть два кадра данных:
x <- data.frame('a'=c(1,1,2,2,3,3),'b'=c(1,2,1,2,1,2),'c'=c(1,2,3,2,1,3))
y <- data.frame('a'=c(1,2,3),'b'=c(1,1,1),'c'=c(1,2,3))
хотел бы извлечь строки из x в соответствии с условиями:
x$a==y$a & x$b==y$b+1 & (if y$c == 1, then x$c %in% c(2,3); if ...)
результат должен выглядеть так: x: ab c 1 2 2 только строка 2 в х совпадает. Я попытался:
z <- y[which(y$a == x$a & y$b == x$b+1),]
, чтобы сопоставить в аренду первые два условия, но не работает, результат равен нулю. Каков подходящий способ борьбы с этим? Пожалуйста, помогите.