#r #select #dplyr #rowsum
#r #выберите #dplyr #сумма строк
Вопрос:
dataframe %>%
select(thumb_p1_frac_1, thumb_p1_frac_2, thumb_p1_frac_3, thumb_p1_frac_4, thumb_p1_frac_5) %>%
mutate(P1 = rowSums(., na.rm = TRUE))
выше работает, но я хочу удалить канал select и реализовать select select в mutate, например
dataframe %>%
mutate(P1 = rowSums(., select(thumb_p1_frac_1, thumb_p1_frac_2, thumb_p1_frac_3, thumb_p1_frac_4, thumb_p1_frac_5), na.rm = TRUE))
в нем говорится:
нет применимого метода для ‘select_’, применяемого к объекту класса «c (‘double’, ‘numeric’)»
Ответ №1:
Как указано в вашей ошибке, вы выбрали неправильный ввод для select()
функции. Причина этого в том, что select()
требуется data.frame
, но вы предоставляете только отдельные столбцы! Итак, решение вашей проблемы состоит в том, чтобы дать select()
команде .
, которая представляет data.frame
то, что вы передаете через %>%
.
Следовательно, правильный код
dataframe %>%
mutate(P1 = rowSums(select(., thumb_p1_frac_1, thumb_p1_frac_2,
thumb_p1_frac_3, thumb_p1_frac_4, thumb_p1_frac_5),
na.rm = TRUE))
Обратите внимание, что я вытащил .
изнутри rowSums()
и вместо этого использовал его select()
.