gpt4 book ai didi

r - 子集列表 - plyr方式?

转载 作者:行者123 更新时间:2023-12-04 17:37:32 25 4
gpt4 key购买 nike

我经常有按一个或多个变量分组的数据,每组中有几个注册。从数据框中,我希望根据各种标准选择组。

我通常使用 split-sapply-rbind 方法,我使用逻辑向量从列表中提取元素。

这是一个小例子。我从一个带有一个分组变量(“组”)的数据框开始,我希望选择最大质量小于 45 的组:

dd <- data.frame(group = rep(letters[1:3], each = 5), 
mass = c(rnorm(5, 30), rnorm(5, 50),
rnorm(5, 40)))
dd2 <- split(x = dd, f = dd$group)
dd3 <- dd2[sapply(dd2, function(x) max(x$mass) < 45)]
dd4 <- do.call(rbind, dd3)

刚开始用plyr,现在想知道:
是否有仅 plyr 的替代方案来实现这一目标?

最佳答案

至少在这种情况下,这给出了相同的结果

library(plyr)
dd5 <- ddply(dd,.(group),function(x) x[max(x$mass)<45,])

all(dd4==dd5)
[1] TRUE

关于r - 子集列表 - plyr方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13764339/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com