Aggregate data in one column based on values in another column

前端 未结 4 1722
轮回少年
轮回少年 2021-02-14 00:10

I know there is an easy way to do this...but, I can\'t figure it out.

I have a dataframe in my R script that looks something like this:

A      B    C
1.2         


        
4条回答
  •  灰色年华
    2021-02-14 00:37

    I'd use aggregate to get the two aggregates and then merge them into a single data frame:

    > df
        A B C
    1 1.2 4 8
    2 2.3 4 9
    3 2.3 6 0
    4 1.2 3 3
    5 3.4 2 1
    6 1.2 5 1
    
    > num <- aggregate(B~A,df,length)
    > names(num)[2] <- 'num'
    
    > totalB <- aggregate(B~A,df,sum)
    > names(totalB)[2] <- 'totalB'
    
    > merge(num,totalB)
        A num totalB
    1 1.2   3     12
    2 2.3   2     10
    3 3.4   1      2
    

提交回复
热议问题