首页 > 解决方案 > 将矩阵列名称与数字向量名称匹配并将值存储到 R 中的矩阵中

问题描述

我正在尝试将矩阵列名称与数值向量的名称匹配,并将数值向量的值存储到矩阵中。

例如:

ex <-matrix(0,nrow=5, ncol= 2200)
colnames(ex) = paste("X",1:ncol(ex),sep="")
vec<- c(1:20)
names(vec) = c( "X13" , "X25", "X58", "X79", "X95" , "X118", "X212", "X311",    
"X422" , "X536", "X899", "X1005","X1080" , "X1118", "X1322", "X1516","X1705" 
, "X1890", "X1925", "X2008")

在上面的代码中,我希望通过匹配相应的列名将 vec(数字)复制到 ex(矩阵)中。我已经尝试过,但我没有得到解决方案,因为我还是 R 新手。

标签: rmatrix

解决方案


# loop through column name of matrix that have correspondences in your vector   
for(i in colnames(ex)[colnames(ex) %in% names(vec)]) {
  # fill these matrix columns with the designated values from your vector
  ex[ , i] <- vec[i]
}

推荐阅读