【发布时间】:2014-10-21 08:32:13
【问题描述】:
我有一个包含 61 个矩阵的矩阵列表。下面是 61 个矩阵之一的示例。
list_matrix_Tanzania_Mod500
[[60]]
LU_2000
[1,] 12
[2,] 12
[3,] 12
[4,] 12
[5,] 12
[6,] 12
[7,] 12
[8,] 12
[9,] 12
[10,] 11
[11,] 11
[12,] 12
[13,] 11
[14,] 12
[15,] 12
我想向矩阵列表的每个矩阵添加 10 个新列。添加这些新列后,我想为每个列指定一个标题名称,其值为NA:"ID", "LU_1990", "CHLU_90_00", "LU_2005", "CHLU_00_05", "Tile", "UNIQ_ID", "AREA", "Sour_90_00", "Sour_00_05"
我现在想用几个矩阵填充矩阵列表 list_matrix_Tanzania_Modis:LU_Mod2000, LU_Mod2005 and list_matrix_Tanzania。我试过了,但该列没有很好地更新。例如,当我为 LU_Mod2005 运行 Mapcode 行时,LU_2000 的值会从矩阵中删除。
columnsToTransfer1 <- 'LU_2000'
columnsToTransfer2 <- 'LU_2005'
columnsToTransfer3<- ('ID', 'Tile', 'UNIQ_ID')
Map(function(x,y,z) {x[,z] <- y[,z];x},
list_matrix_Tanzania_Modis, LU_Mod2000, columnsToTransfer1)
Map(function(x,y,z) {x[,z] <- y[,z];x},
list_matrix_Tanzania_Modis, LU_Mod2005, columnsToTransfer2)
Map(function(x,y,z) {x[,z] <- y[,z];x},
list_matrix_Tanzania_Modis, list_matrix_Tanzania, columnsToTransfer3)
这个技巧有效,但我想将矩阵列表的名称保留为 list_matrix_Tanzania_Modis
list_matrix_Tanzania_Modis1<- Map(function(x,y,z) {x[,z] <- y[,z];x},
list_matrix_Tanzania_Modis, LU_Mod2000, columnsToTransfer1)
list_matrix_Tanzania_Modis2<-Map(function(x,y,z) {x[,z] <- y[,z];x},
list_matrix_Tanzania_Modis1, LU_Mod2005, columnsToTransfer2)
【问题讨论】:
-
那么,目前,您有一个包含 1 列矩阵的列表,并且您想要添加 10 个具有
NA值的命名列? -
我试过了,但它不起作用。
list_matrix_Tanzania_Mod500 <- lapply(list_matrix_Tanzania_Mod500, function(x){ x <- c(2:11); return(x)})