У меня есть вектор testlen <- c(4, 5, 6)
и стандартный набор данных iris
.
Я хочу добавить столбец к iris
, который проверяет Sepal.Length
для каждого элемента в testlen
. Если Sepal.Length
длиннее, чем элемент в testlen
, выполните некоторую операцию, подобную приведенной ниже.
Я знаю, как это сделать, используя mutate, например:
iris <- iris %>% mutate(ratio1 = if_else(Sepal.Length> testlen[1], Petal.Length/Petal.Width,0)) %>%
mutate(ratio2 = if_else(Sepal.Length> testlen[2], Petal.Length/Petal.Width,0)) %>%
mutate(ratio3 = if_else(Sepal.Length> testlen[3], Petal.Length/Petal.Width,0))
Кажется, что есть какой-то способ сделать это с помощью функции apply (), но я не уверен, как это сделать.
(Меня не волнуют имена новых вычисляемых столбцов. Все хорошо .)