我有两个生物数据集。数据集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中?非常感谢!
答案 0 :(得分:1)
使用merge
和aggregate
:
merge(aggregate(size ~ group, data1, FUN=mean), data2, by="group")
答案 1 :(得分:0)
这就是你要追求的吗?
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