与plyr我一起工作时,我经常发现将其用于adply必须应用于每一行的标量函数很有用。例如data(iris)library(plyr)head( adply(iris, 1, transform , Max.Len= max(Sepal.Length,Petal.Length)) ) Sepal.Length Sepal.Width Petal.Length Petal.Width Species Max.Len1 5.1 3.5 1.4 0.2 setosa 5.12 4.9 3.0 1.4 0.2 setosa 4.93 4.7 3.2 1.3 0.2 setosa 4.74 4.6 3.1 1.5 0.2 setosa 4.65 5.0 3.6 1.4 0.2 setosa 5.06 5.4 3.9 1.7 0.4 setosa 5.4现在,我使用的dplyr更多,我想知道是否有一种整洁/自然的方式来做到这一点?因为这不是我想要的:library(dplyr)head( mutate(iris, Max.Len= max(Sepal.Length,Petal.Length)) ) Sepal.Length Sepal.Width Petal.Length Petal.Width Species Max.Len1 5.1 3.5 1.4 0.2 setosa 7.92 4.9 3.0 1.4 0.2 setosa 7.93 4.7 3.2 1.3 0.2 setosa 7.94 4.6 3.1 1.5 0.2 setosa 7.95 5.0 3.6 1.4 0.2 setosa 7.96 5.4 3.9 1.7 0.4 setosa 7.9
3 回答
白衣非少年
TA贡献1155条经验 获得超0个赞
您需要按行分组:
iris %>% group_by(1:n()) %>% mutate(Max.Len= max(Sepal.Length,Petal.Length))
这就是在中1所做的adply。
- 3 回答
- 0 关注
- 691 浏览
添加回答
举报
0/150
提交
取消