我可以使用以下内容返回最多2列
newiris<-iris %>%
rowwise() %>%
mutate(mak=max(Sepal.Width,Petal.Length))
我想做的是找到一系列列的最大值,所以我不必像这样命名每个列
newiris<-iris %>%
rowwise() %>%
mutate(mak=max(Sepal.Width:Petal.Length))
有任何想法吗?
最佳答案
可以使用rowwise()
代替pmax
iris %>%
mutate(mak=pmax(Sepal.Width,Petal.Length, Petal.Width))
如果要引用存储在
interp
中的列名,则可以使用library(lazyeval)
中的vector
。library(lazyeval)
nm1 <- names(iris)[2:4]
iris %>%
mutate_(mak= interp(~pmax(v1), v1= as.name(nm1)))