在R中,我有这样的数据
> a
ID row variant size weight
<dbl> <chr> <chr> <dbl> <dbl>
1 7 1 22.5 0.00609
2 7 1 23.5 0.00704
3 7 2 22.5 0.00598
4 8 1 22.5 0.00536
5 8 2 35.5 0.04043
我想计算统计大小(平均,中位数,sd)的每一行和变体。例如,对于列的大小,应该计算每一行变量的平均值(7-1,7-2,8-1,8-2,.)。到目前为止,我正在通过添加另一列RV来完成这一任务。
a$RV<-paste(a$row, a$variant, sep='.')
并使用tapply()
> tapply(a$size,a$RV,median)
5.1 5.2 5.3 6.1 6.2 6.3 7.1 7.2
0.010555175 0.010509383 0.010497835 0.010467480 0.010540752 0.010523763 0.009427733 0.010499771
7.3
0.010504420
还有更好的机会吗?
发布于 2022-01-12 20:38:10
您可以使用group_by()和汇总()。下面是一个例子
library(tidyverse)
your_data %>%
group_by(row, variant) %>%
summarize(
mean = mean(size),
median = median(size),
sd = sd(size)
)
https://stackoverflow.com/questions/70687943
复制相似问题