jianfengmao的个人博客分享 http://blog.sciencenet.cn/u/jianfengmao

博文

记着用 ddply(plyr)

已有 8728 次阅读 2010-7-21 09:12 |个人分类:R and Statistics|系统分类:科研笔记|关键词:学者

想dataframe中对一个分组变量(因子或类似变量),应用一个种计算并且把返回值存在一个dataframe中吗?ddply(plyr) 能帮你实现。另外,plyr包中还有各种有用的funtion。

几个例子:

ddply(baseball, .(year), "nrow")
ddply(baseball, .(lg), c("nrow", "ncol"))

mean_rbi <- function(df) mean(df$rbi, na.rm=TRUE)
rbi <- ddply(baseball, .(year), mean_rbi)
with(rbi, plot(year, V1, type="l"))
rbi <- ddply(baseball, .(year), "mean_rbi")

mean_rbi <- function(rbi, ...) mean(rbi, na.rm=TRUE)
rbi <- ddply(baseball, .(year), splat(mean_rbi))

ddply(baseball, .(year), numcolwise(mean), na.rm=TRUE)
base2 <- ddply(baseball, .(id), function(df) {
transform(df, career_year = year - min(year) + 1)
})

https://m.sciencenet.cn/blog-352360-345958.html

上一篇:记着用 lapply(base)
下一篇:R中如何把一个大的dataframe划分成小的dataframe

0

发表评论 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-6-2 08:19

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部