【发布时间】:2020-08-05 22:29:47
【问题描述】:
我有十个行数和列数相等的数据框。它们看起来像这样:
df1 <- data.frame(geneID=c("AKT1","AKT2","AKT3","ALK",
"APC"),
CDKN2A=c(3490,9447,4368,908,204),
INPP4B=c(NA,9459,4395,1030,NA),
BCL2=c(NA,9480,4441,1209,NA),
IRS2=c(NA,NA,4639,1807,NA),
HRAS=c(3887,9600,4691,1936,1723))
df2 <- data.frame(geneID=c("AKT1","AKT2","AKT3","ALK",
"APC"),
CDKN2A=c(10892,17829,7156,1325,387),
INPP4B=c(NA,17840,7185,1474,NA),
BCL2=c(NA,17845,7196,1526,NA),
IRS2=c(NA,NA,12426,10244,NA),
HRAS=c(11152,17988,7545,2734,2423))
df3 <- data.frame(geneID=c("AKT1","AKT2","AKT3","ALK",
"APC"),
CDKN2A=c(11376,17103,8580,780,178),
INPP4B=c(NA,17318,9001,2829,NA),
BCL2=c(NA,17124,8621,1141,NA),
IRS2=c(NA,NA,8658,1397,NA),
HRAS=c(11454,17155,8683,1545,1345))
我想根据多个数据帧的均值和方差计算每个数据帧的 z 分数。 z-score 的计算公式如下:z-score=(x-mean(x))/sd(x)))。
我发现 plyr 的 ddply 函数可以完成这项工作,但解决方案是针对单个数据帧,而我有多个数据帧作为单独的文件,有 18214 行和 269 列。
如果有任何建议,我将不胜感激。
非常感谢您的帮助! 奥尔哈
【问题讨论】:
-
你想要每个data.frame中每一列的z分数吗(基因ID除外)?我不确定这个示例输入的期望输出是什么。
-
你玩过
Map或mapply吗? -
我想为数据框中的每个单元格/交叉点获得 z 分数
标签: r dataframe statistics