R中按类型返回列的平均值[复制]

问题描述 投票:0回答:2

我有这样的数据框:

    df<-data.frame(Type=c("Cat","Cat","Dog","Dog","Dog","Horse","Horse","Horse"), A=c(3,2,1,4,5,3,4,2),B=c(1,2,3,3,4,1,4,2),C=c(2,1,4,5,2,1,3,2), D=c(4,1,2,4,3,4,2,5))


       Type A B C D
    1   Cat 3 1 2 4
    2   Cat 2 2 1 1
    3   Dog 1 3 4 2
    4   Dog 4 3 5 4
    5   Dog 5 4 2 3
    6 Horse 3 1 1 4
    7 Horse 4 4 3 2
    8 Horse 2 2 2 5

我想按类型获取B列的平均值,因此,例如,Cat类型的平均值为1.5而Dog类型的平均值为3.33,依此类推。是否有任何函数可以同时返回所有不同类型的平均值?我想要的结果将是这样的

    Cat Dog  Horse
    1.5 3.33 2.33

我只知道如何取列的平均值

    mean(df$B)

但是我不知道如何考虑类型。

r mean col
2个回答
1
投票
aggregate(df$B, by=list(Type=df$Type), FUN=mean)
© www.soinside.com 2019 - 2024. All rights reserved.