将值分配给R中其他矩阵的空矩阵

时间:2014-10-14 12:03:17

标签: r matrix assign

我有一个空矩阵,我想填写另外两个矩阵的值。 这是我的空矩阵:

Att_table_S01_E031_Mod <- matrix(NA, nrow = 16, ncol = 13)
colnames (Att_table_S01_E031_Mod) <- c("ID", "Area", "LU_1990", "LU_2000", "LU_2005", "CHLU_90_00", "CHLU_00_05", "Tile", "Unique_ID", "D_90_00", "D_00_05", "Source_90_00", "Source_00_05")

另外两个矩阵包含我想要包含在此新矩阵中的信息,例如IDAreaLU_1990等。但是,我还没有办法做到这一点。一些提示将得到很好的赞赏。

矩阵Att_table_S01_E031似乎只有一列。你知道我怎么能分开它? [1]“ID.Area_ORG.LU_1990.LU_2000.CHLU_90_00.LU_2005.CHLU_00_05.Tile.UNIQ_ID.AREA.D_90_00.D_00_05.Sour_90_00.Sour_00_05.Conf_90_00.Conf_00_05”

1 个答案:

答案 0 :(得分:0)

对于互补矩阵,

columnsToTransfer <- c('ID','Area','Tile','Unique_ID','LU_1990')
otherColumns <- colnames(Att_table_S01_E031_Mod)[!(colnames(Att_table_S01_E031_Mod) %in% columnsToTransfer)]
Att_table_S01_E031_Mod[,columnsToTransfer] <- table2[,columnsToTransfer]
Att_table_S01_E031_Mod[,otherColumns] <- table3[,otherColumns]

如果两个较小的矩阵不会完全填满大矩阵,

columnsToTransfer1 <- c('ID','Area','Tile','Unique_ID')
columnsToTransfer2 <- 'LU_2000'
Att_table_S01_E031_Mod[,columnsToTransfer1] <- table2[,columnsToTransfer1]
Att_table_S01_E031_Mod[,columnsToTransfer2] <- table3[,columnsToTransfer2]