我正在尝试使用其他矩阵中的值与 R 来创建一个新矩阵。我正在尝试在导入值时匹配行和列的名称。这就是尝试做的事情:
我有两个矩阵;
X1 X2 X3 X4
X1 0 9 8 0
X2 1 2 3 5
X4 6 1 2 4
X1 X2 X3 X4
X1 NA NA NA NA
X2 NA NA NA NA
X3 NA NA NA NA
X4 NA NA NA NA
我想做
X1 X2 X3 X4
X1 0 9 8 0
X2 1 2 3 5
X3 NA NA NA NA
X4 6 1 2 4
这些矩阵只是我的数据集的简单示例,我的真实数据更复杂。
非常感谢,
最佳答案
检查两个矩阵中的行名和列名匹配将防止出现下标越界
错误。见下文。
mat2[rownames(mat2) %in% rownames(mat1),
colnames(mat2) %in% colnames(mat1)] <- mat1[rownames(mat1) %in% rownames(mat2),
colnames(mat1) %in% colnames(mat2)]
mat2
# X1 X2 X3 X4
# X1 0 9 8 0
# X2 1 2 3 5
# X3 NA NA NA NA
# X4 6 1 2 4
数据:
mat1 <- read.table(text = ' X1 X2 X3 X4
X1 0 9 8 0
X2 1 2 3 5
X4 6 1 2 4', header = TRUE)
mat1 <- as.matrix(mat1)
mat2 <- matrix(NA, nrow = 4, ncol = 4, dimnames = list(paste0("X", 1:4),
paste0("X", 1:4)))
关于r - 如何用其他矩阵匹配行和列的值填充矩阵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48481853/