如何计算R中的Z分数

时间:2014-11-28 18:09:06

标签: r

我有不同样本(15个样本)的每个染色体位置(137221坐标)的log2ratio值。我想计算每个染色体位置(行)的log2比率的Zscore。此外,我想排除前三列,因为它包含ID。变量之间也存在一些NA。

提前感谢你

1 个答案:

答案 0 :(得分:0)

它不是完全清楚你想要的。对于除前三行之外的所有行,如果你想要整行的Z分数(即,其平均值除以标准误差)那么

f <- function(x) {
     mean(x,na.rm=TRUE)/(sd(x,na.rm=TRUE)*sqrt(length(na.omit(x)))) 
}
apply(as.matrix(df[-(1:3),]),1,f)

会做到的。这会给你一个等于列数的向量(减去3)。

如果您想要整列标准化数据(Z分数),那么我认为

t(scale(t(as.matrix(df[-(1:3),]))))

应该有效。如果这些都不起作用,您需要发布一个可重现的示例 - 或者至少准确地告诉我们错误消息是什么。