Одним из способов будет использование базы R mapply
mapply(function(x, y) which(iris$Sepal.Width == x & iris$Petal.Length == y),
Desired_Width, Desired_Length)
# [,1] [,2] [,3]
#[1,] 1 3 5
#[2,] 18 43 38
Обратите внимание, что в выходных данных есть две строки, поскольку есть две записи, которые удовлетворяют условию.Например, для первого ввода мы можем проверить, что строки 1 и 18 имеют одинаковые значения Sepal.Width
и Petal.Length
.
iris[c(1, 18), ]
# Sepal.Length Sepal.Width Petal.Length Petal.Width Species
#1 5.1 3.5 1.4 0.2 setosa
#18 5.1 3.5 1.4 0.3 setosa
То же самое можно сделать, используя map2
из purrr
purrr::map2(Desired_Width, Desired_Length,
~which(iris$Sepal.Width == .x & iris$Petal.Length == .y))
#[[1]]
#[1] 1 18
#[[2]]
#[1] 3 43
#[[3]]
#[1] 5 38