计算R中的基本统计信息

计算R中的基本统计信息,r,statistics,mean,genetics,R,Statistics,Mean,Genetics,当我使用R时,我是一个傻瓜 我的实验:我有300个基因型,每个基因型种植在6个不同的地方。对于每个地方的每个基因型,我都有一个产量的度量 我想做的是:我想计算每个基因型的平均值、标准偏差和标准误差,首先使用6个位置的产量数据。稍后,我只想计算5个位置和4个位置的相同统计参数 这是我所需输出的示例: 我已经搜索了好几天了,但我找不到该怎么做。假设这是您的数据: library(data.table) dt= data.table(genotype=sample(1:10,size=20,repl

当我使用R时,我是一个傻瓜

我的实验:我有300个基因型,每个基因型种植在6个不同的地方。对于每个地方的每个基因型,我都有一个产量的度量

我想做的是:我想计算每个基因型的平均值、标准偏差和标准误差,首先使用6个位置的产量数据。稍后,我只想计算5个位置和4个位置的相同统计参数

这是我所需输出的示例:


我已经搜索了好几天了,但我找不到该怎么做。

假设这是您的数据:

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)))
然后,首先要做的是按基因型取产量的平均值:

在此之后,假设您知道要排除哪些位置,下面分别是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]
注意,位置10不包括5个位置的平均值,类似地,位置5和10不包括4个位置的平均值

最后,您需要将所有内容合并到一个表中:

m12 = merge(m1,m2)
m123 = merge(m12,m3)
print(m123)

这是一件有趣的事情,我会用蒙特卡罗的“类似”方法来做。我肯定会鼓励非参数方法,因为数据的维数不支持分布假设。 假设基因型无关紧要,并在六个位置(或5或4个位置)上聚合。。。分配分配手段。一个特定基因型对应的五分位数意味着对应的位置数意味着告诉你更多关于基因型的信息,而不是平均数本身。平均数的标准误差也不属于该分布。 这个分布的标准偏差同样让你知道均值之间的标准偏差,并允许进行显著性检验。 我知道这个答案有点相切,但建立六个位置的分布并计算其标准偏差并不能告诉你多少。 类似地,如果你取所有行的标准偏差并建立标准偏差的分布,你可以通过使用五分位数再次看到给定基因型标准偏差相对于总体的紧密程度。 我假设最佳基因型是给定位置或所有位置的平均分布中的高五分位和标准偏差分布中的低五分位。当然,这取决于要解决的具体问题

m12 = merge(m1,m2)
m123 = merge(m12,m3)
print(m123)