问题描述
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))
以上工作,但我想删除选择管道并在变异中实现选择选择,如
dataframe %>%
mutate(P1 = rowSums(.,select(thumb_p1_frac_1,thumb_p1_frac_5),na.rm = TRUE))
它说:
没有适用于 'select_' 的方法应用于类 "c('double','numeric')" 的对象
解决方法
正如您的错误所说,您选择了错误的 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()
中使用了它。