我有一个像这样的矩阵:
[1] [2] [3] [4] [5] [6]
[1]NA NA NA 2 NA NA
[2]NA NA NA 7 5 4
[3]NA 2 2 2 2 2
[4]NA 4 4 32 1 1
[5]9 NA NA NA NA NA
[6]NA 2 1 1 1 1
是否有任何方法可以对非NA的元素进行子集化(可能是列式),然后将所有数字存储在1个数字向量中,以便我可以将它们绘制为.numeric?
谢谢
答案 0 :(得分:0)
试试这个:
#dummy data
mat <- matrix(rep(c(1,2,3,NA),7),ncol=4)
mat
# [,1] [,2] [,3] [,4]
# [1,] 1 NA 3 2
# [2,] 2 1 NA 3
# [3,] 3 2 1 NA
# [4,] NA 3 2 1
# [5,] 1 NA 3 2
# [6,] 2 1 NA 3
# [7,] 3 2 1 NA
mat[!is.na(mat)]
# [1] 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3
答案 1 :(得分:0)
您可以使用apply
和na.omit
:
unlist(apply(mat, 2, na.omit))
# [1] 9 2 4 2 2 4 1 2 7 2 32 1 5 2 1 1 4 2 1 1
您也可以使用
na.omit(as.vector(mat))