gpt4 book ai didi

r - 对数据的子集组使用 tapply

转载 作者:行者123 更新时间:2023-12-02 08:36:14 26 4
gpt4 key购买 nike

我有一组汽车销售数据,我将我的数据分成不同的组,如下所示:

汽车品牌和销售年份。

toyota=subset(car, brand=="Toyota")
toyota.yr = cut(toyota$date, "year")
honda=subset(car, brand=="Honda")
honda.yr = cut(honda$date, "year")

等等

所以现在我有 6 个汽车品牌子组,然后我使用 tapply 按年获取每个品牌的销售额平均值:

tapply(toyota$price, toyota.yr, mean, na.rm=TRUE)

我想对所有 6 个子组执行此操作,无论如何我可以一次执行此操作而不是键入 tapply 函数 6 次吗?

感谢任何帮助,谢谢!

最佳答案

tt=by(car$price, list(car$brand,car$year),mean,na.rm=T); 
print(tt["1986","Toyota"])

如果你想直接在 data.frame 中而不是列表中,Jilber 的建议会更好:

aggregate(price ~ brand + year, FUN=mean, data=car, na.rm=T)

如果您希望将其放入矩阵并稍后轻松检索结果,请使用 Simon 的建议:

tt=tapply( car$price , list( car$brand , car$year ) , FUN = mean , na.rm = TRUE )
print(tt["1986","Toyota"])

使用 dput(sample_data) 给出可重现的代码。

关于r - 对数据的子集组使用 tapply,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21162260/

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