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