У меня есть таблица, которая выглядит следующим образом:
Individual<-c(1,2,3,4,5)
a<-c(1,1,1,2,2)
b<-c(1,2,3,3,4)
Я пытаюсь заставить R найти пары между столбцами a и b, поэтому я использовал Pairs<-x[x$a==1,"b"]
, который скажет мне, что Pairs= 1,2,3
из столбца b в паре с 1 в столбце a.
У меня проблема в том, что я хочу, чтобы он искал пары в другом направлении. Поэтому я хочу найти 1, затем 2, а затем 3 в столбце b в паре с чем-то, что не является исходным запросом в столбце a . Таким образом, поиск с 1 и 2 ничего не даст, но 3 выдаст «2». Я бы хотел, чтобы конечный результат был примерно таким:
(1,3)
(2,3)
Я пробовал код, подобный
test<-x[x$a==1,"b"]
x[x$b%in%test,"a"]
но это только дает все значения, которые соответствуют в столбце a с 1, 2 и 3 от столбца b - это не различает, что есть что. Если бы я мог запустить каждое целое число в «тесте» последовательно, это могло бы сработать ...
for(n in Pairs) print(x[x$b==n,"a"])
этот код выводит наборы пар отдельно, но я не уверен, как собрать эти данные, чтобы их можно было использовать для того же самого действия снова.