R中如何删除全部是na的行和列


 > testmatrix <- matrix(nrow=6, ncol=4)
    > testmatrix
         [,1] [,2] [,3] [,4]
    [1,]   NA   NA   NA   NA
    [2,]   NA   NA   NA   NA
    [3,]   NA   NA   NA   NA
    [4,]   NA   NA   NA   NA
    [5,]   NA   NA   NA   NA
    [6,]   NA   NA   NA   NA
    > testmatrix[2:5,2:3] <- seq(2)
    > testmatrix
         [,1] [,2] [,3] [,4]
    [1,]   NA   NA   NA   NA
    [2,]   NA    1    1   NA
    [3,]   NA    2    2   NA
    [4,]   NA    1    1   NA
    [5,]   NA    2    2   NA
    [6,]   NA   NA   NA   NA
	
	# 去掉全部为na的列
    > tm1<-testmatrix[,-which(apply(testmatrix,2,function(x) all(is.na(x))))]
    > tm1
         [,1] [,2]
    [1,]   NA   NA
    [2,]    1    1
    [3,]    2    2
    [4,]    1    1
    [5,]    2    2
    [6,]   NA   NA
	
	# 去掉全部为na的行
    > tm2<-tm1[-which(apply(testmatrix,1,function(x) all(is.na(x)))),]
    > tm2
         [,1] [,2]
    [1,]    1    1
    [2,]    2    2
    [3,]    1    1
    [4,]    2    2

  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM