Aggregate multiple rows of the same data.frame in R based on common values in given columns

后端 未结 5 921
情歌与酒
情歌与酒 2021-02-02 17:29

I have a data.frame that looks like this:

# set example data
df <- read.table(textConnection(\"item\\tsize\         


        
5条回答
  •  时光取名叫无心
    2021-02-02 17:58

    Nowadays, this is what I would do:

    library(dplyr)
    
    df %>%
      group_by(item, size, weight) %>%
      summarize(value = mean(value)) %>%
      ungroup
    

    This yields the following result:

    # A tibble: 3 x 4
       item  size weight value
          
    1     A     2      3     5
    2     B     1      2     3
    3     C     3      2     1
    

    I will leave the accepted answer as such as I specifically asked for aggregate, but I find the dplyr solution the most readable.

提交回复
热议问题