Ссылочный столбец по индексу столбца - PullRequest
1 голос
/ 02 августа 2020

имеют набор данных, как ирис, любая помощь будет оценена,

iris %>% head %>% mutate(sum = .[[1]] + .[[2]]) #works

iris %>% head %>% mutate(max = max(.[1], .[2])) #doesnt work

Ожидаемый ответ, найдите max(1st column, 2nd column)

 Sepal.Length Sepal.Width Petal.Length Petal.Width Species max
1          5.1         3.5          1.4         0.2  setosa 5.1
2          4.9         3.0          1.4         0.2  setosa 4.9
3          4.7         3.2          1.3         0.2  setosa 4.7
4          4.6         3.1          1.5         0.2  setosa 4.6
5          5.0         3.6          1.4         0.2  setosa 5.0
6          5.4         3.9          1.7         0.4  setosa 5.4

заранее большое спасибо

1 Ответ

1 голос
/ 02 августа 2020

Нам нужен поэлементный максимум, и этого можно достичь с помощью pmax

iris %>%
    head %>%
    mutate(max= pmax(.[[1]] , .[[2]]) )

Проблема с max в том, что его использование составляет

max (... , na.rm = FALSE)

Здесь ... означает

numeri c или символьные аргументы

Итак, он принимает значение max всех столбцов, переданных в функцию, а не поэлементный максимум столбцов

+ - это другая функция, и она всегда поэлементная, но если мы это сделаем sum (который был бы соответствующим кандидатом для проверки с помощью max), он также ведет себя так же, как max

...