[英]How to calculate range and variance for all the columns in a large matrix (affymetrix gene expression data) in R?
如果您想要一種更有效的方法, matrixStats
有colRanges
和colVars
非常適合此類矩陣運算:
library(matrixStats)
mat <- data.matrix(df)
data.frame(Probe_ID=colnames(mat),
Range=colRanges(mat),
Variance=colVars(mat)
)
使用apply
function 其中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)
示例 Output
Probe_ID Range Variance
a a 1,34 99.16667
b b 2,35 99.16667
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.