【发布时间】:2019-05-26 13:12:10
【问题描述】:
拥有m1(矩阵1):
[,1]
200
NULL
NULL
300
NULL
NULL
400
NULL
NULL
和m2:
[,1]
1
2
3
4
5
6
我们想要得到如下结果:
[,1]
200
1
2
300
3
4
400
5
6
因此,m2 的任何元素都必须适合 m1 的 NULL 位置。合并、加入、追加...显然不起作用,除非有针对这种情况的论据。
m1<-matrix(c(200,NA,NA,300,NA,NA,400,NA,NA), nrow = 9, ncol = 1) #I usually get NULL values in my code results
m2<-matrix(c(1,2,3,4,5,6), nrow = 6, ncol = 1)
欢迎和奖励任何想法!
【问题讨论】:
-
m1[is.na(m1)] <- m2 -
它正在工作,但如果我的矩阵上有 NULL 位置怎么办? is.null ?
-
矩阵中不能有 NULL 元素。 NA 与 NULL 不同。
-
我只能重申:矩阵中不能有 NULL 元素。您应该为您的矩阵提供 dput 的输出。也许你有一个字符矩阵,其中一些元素是字符串“NULL”。
-
你在矩阵中有一个列表元素吗?在这种情况下,做
m1[] <- Map(function(x, y) {x[is.null(x)] <- y; x}, m1, m2)