【问题标题】:Calculate means of individual values in one data frame, merge into second data frame计算一个数据帧中各个值的平均值,合并到第二个数据帧
【发布时间】:2017-06-30 18:50:19
【问题描述】:

我有两个生物数据集。数据集 1 包含按组标记的各个级别测量。

size <- c(1,5,4,2,6) group <- c(1,1,2,2,2)

data1 <- data.frame(size, group)

数据集 2 包含组级别的平均测量值,即存活比例

group <- c(1,2) 
p_sx <- c(0.3, 0.76)
data2 <- data.frame(group, p_sx)

问:如何计算数据集 1 中每个组的平均大小,并根据唯一的组名将其合并到数据集 2 中?非常感谢您的帮助!

【问题讨论】:

    标签: r database merge unique tidyr


    【解决方案1】:

    使用mergeaggregate

    merge(aggregate(size ~ group, data1, FUN=mean), data2, by="group")

    【讨论】:

      【解决方案2】:

      这就是你所追求的吗?

      library(dplyr)
      data1 <- data1%>%group_by(group)%>%
                         summarise(mean_size = mean(size))
      data2 <- data1%>%left_join(data2,"group")
      

      输出是:

      > data2
      # A tibble: 2 × 3
          group mean_size  p_sx
          <dbl>     <dbl> <dbl>
      1     1         3  0.30
      2     2         4  0.76
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-01-06
        • 2021-04-26
        • 1970-01-01
        • 2021-08-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-09
        相关资源
        最近更新 更多