Учитывая данные data.frame:
var1 <- c(1, 2)
var2 <- c(3, 4)
var3 <- c(5, 6)
df <- expand.grid(var1 = var1, var2 = var2, var3 = var3)
var1 var2 var3
1 1 3 5
2 2 3 5
3 1 4 5
4 2 4 5
5 1 3 6
6 2 3 6
7 1 4 6
8 2 4 6
Я хотел бы определить номер строки data.frame, соответствующий этому вектору (в данном случае ответ 4):
vec <- c(var1 = 2, var2 = 4, var3 = 5)
var1 var2 var3
2 4 5
Я не могу разобраться с простым методом подмножества. Лучшее, что я смог придумать, это следующее:
working <- apply(df, 2, match, vec)
which(apply(working, 1, anyNA) == FALSE)
Это кажется менее простым, чем ожидалось;Мне было интересно, есть ли более простое решение?