Сравнивая "x1", "x2", "x3" с "target", как мне вернуть первый индекс столбца, который соответствует "target"? АН не может привести ни к какому совпадению.
pop <- c("A", "B", "C", "D")
target <- pop
x1 <- sample(pop)
x2 <- sample(pop)
x3 <- sample(pop)
df <- data.frame(target,x1,x2,x3)
> df
target x1 x2 x3
1 A B B D
2 B D C C
3 C C A A
4 D A D B
Я пытался использовать что-то вроде:
min(which(df[3, 1] == df[3, 2:ncol(df)]))
... (строка 3 используется в качестве примера), но я не знаю, как изящно обрабатывать случаи, когда нет совпадений, поэтому, вероятно, у меня возникают проблемы при использовании этого в функции с apply () , Цель - либо новый столбец на df, либо вектор возвращаемых значений.
Спасибо!