使用R时我是菜鸟。
我的实验:我有300种基因型,每种都种植在6个不同的位置。对于每个位置的每个基因型,我都有一个产量的度量。
我想做什么:我想计算每种基因型的平均值,标准差和标准误差,首先使用6个位置的产量数据。后来,我想计算仅5个位置和4个位置的相同统计参数。
这是我想要的输出的例子:
我一直在寻找几天,但我找不到怎么做。
答案 0 :(得分:0)
假设这是您的数据:
library(data.table)
dt= data.table(genotype=sample(1:10,size=20,replace=T),
location=sample(1:6,size=20,replace=T),
yield=round(runif(20,1000,1500)))
然后,首先要做的是通过基因型取 yield 的平均值:
m1 = dt[,.(mean_6_locations=mean(yield)),by=genotype]
之后,假设您知道要排除的位置,这里分别是5和4个位置的平均值:
m2 = dt[!location %in% c(10),.(mean_5_locations=mean(yield)),by=genotype]
m3 = dt[!location %in% c(5,10),.(mean_4_locations=mean(yield)),by=genotype]
注意,对于5个位置的平均值排除位置10,类似地,5个位置的位置5和10被排除在4个位置的平均值上。
最后,您需要将所有内容合并到一个表中:
m12 = merge(m1,m2)
m123 = merge(m12,m3)
print(m123)
答案 1 :(得分:0)
这是一件有趣的事情,我会用蒙特卡罗“喜欢”的方法来做。当然,我会鼓励非参数方法,因为数据的维度不支持分布式假设。 假设基因型无关紧要,并聚集在六个位置[或5或4] ......以进行均值分布。一个特定基因型的相应五分位数意味着相应的位置数意味着告诉您更多关于基因型的信息而不是平均值本身。平均值的标准误差也不属于该分布。 这种分布的标准偏差同样让你知道平均值之间的标准差,并允许进行显着性检验。 我知道这个答案有点相切,但是为六个地点建立一个分布并采用它的标准偏差并不能说明多少。 同样,如果采用所有行的标准偏差并建立标准偏差的分布,您可以通过使用五分位数看出给定基因型标准偏差相对于种群的紧密程度。 我假设最佳基因型在平均分布中是高五分位数,在给定位置或所有位置之间的标准偏差分布中是低五分位数。当然取决于正在解决的具体问题