||
我有1367*400的大矩阵,需要去掉全是NA的进行下一步计算。
不想另外写个脚本来处理,想着R肯定有快捷办法,google到了一个很管用的函数。
戳这里http://stackoverflow.com/questions/6471689/remove-rows-in-r-matrix-where-all-data-is-na
我的矩阵是
as.matrix(read.table("file",header=T,sep="t",row.names=1))->x
x[apply(x, 1, function(x) !all(is.na(x))),]->y
> dim(x)
[1] 1367 400
> dim(y)
[1] 987 400
就搞定了删除,apply很管用。
另外,如果要把NA的替换成0,也没必要用sed之类的,在R里直接
x[ is.na(x) ] <- 0
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-9-27 08:47
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社