【发布时间】:2015-06-28 07:25:15
【问题描述】:
ddply(和类似函数)如何处理多个数据帧。
例如,我有一个包含家庭汽车信息的数据框
car <- data.frame(name=c('aaa','aaa','bbb'), cars=c('honda','chevy','datsun'))
和第二个家庭成员的数据框
people <- data.frame(name=c('aaa','bbb','bbb'), age=c(25,18,33))
我想应用一个函数
neatfun <- function( car_chunk, people_chunk){ analysis with age and type of cars}
到相应的车和人块,类似于
analysis <- ddply( list(car,people), "name", neatfun)
其中 ddply 将按名称拆分数据帧列表,然后将每个数据帧的相应块传递给 netfun 函数。
目前,我愿意假设每个“名字”都出现在所有数据框中,因此我不必担心有车(但没有人)或有人(但没有车)的家庭。
谢谢
【问题讨论】:
-
最简单的方法是newdf
-
合并后,@jeremycg 显示您可以像这样使用
ddplyddply(newdf, .(name), colwise(neatfun))