为了账号安全,请及时绑定邮箱和手机立即绑定

使用dplyr将函数应用于表的每一行?

使用dplyr将函数应用于表的每一行?

慕标5832272 2019-10-15 14:02:13
与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。


查看完整回答
反对 回复 2019-10-15
  • 3 回答
  • 0 关注
  • 659 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信