r语言 - 计算一个数据框中单个值的平均值,合并到第二个数据框中



我有两个生物学数据集。数据集 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 中?非常感谢帮助!

使用mergeaggregate

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

这就是你所追求的吗?

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

最新更新