如何计算R中大型矩阵(affymetrix基因表达数据)中所有列的范围和方差?

如何计算R中大型矩阵(affymetrix基因表达数据)中所有列的范围和方差?,r,matrix,range,variance,R,Matrix,Range,Variance,你好 我有一个像上面这样的文本文件。我想计算所有列(探测)的范围和方差,并有一个输出文件,假设如下所示(所有探测的范围和方差值)- 我不关心此分析的行名(containing.CEL)。非常感谢你的帮助 诚恳 AR使用应用功能,其中2表示按列 data.frame( Probe_ID = colnames(df), Range = apply(df,2,function(x) paste(range(x),collapse=",")), Variance = apply

你好 我有一个像上面这样的文本文件。我想计算所有列(探测)的范围和方差,并有一个输出文件,假设如下所示(所有探测的范围和方差值)-

我不关心此分析的行名(containing.CEL)。非常感谢你的帮助

诚恳
AR

使用
应用
功能,其中
2
表示按列

data.frame(
    Probe_ID = colnames(df),
    Range = apply(df,2,function(x) paste(range(x),collapse=",")),
    Variance = apply(df,2,var)
)
示例数据:

df <- data.frame(a=1:34,b=2:35) 

如果您想要一个稍微更有效的方法,
matrixStats
具有
colRanges
colVars
,非常适合这种矩阵操作:

库(matrixStats)

mat
df%>%汇总所有(列表(最小值=最小值,最大值=最大值,方差=变量))
。如果必须将它们放在同一单元格中,
dat%%>%summary_all(list(range=~range(.x)%%>%paste0(collapse=“,”,variance=var))
我已经更新了我的答案,现在效果很好。我已经修复了这个答案,并添加了一个示例,作为快速简单的概念证明。非常感谢你!!
  Probe_ID Range Variance
a        a  1,34 99.16667
b        b  2,35 99.16667