2014-10-20 110 views
1

我有一個表list_table_Tanzania的列表,我想將其轉換爲矩陣列表list_matrix_Tanzania。我試圖運行這個for loop函數,但我只有一個輸出。將表格列表轉換爲矩陣列表

for (i in 1:length(list_table_Tanzania)) { 
    list_matrix_Tanzania<-as.matrix(list_table_Tanzania[[i]], rownames.force = NA) 
} 

有人知道我怎麼能得到相同數量的矩陣的列表中的表的數量?

回答

1

您在每次迭代中覆蓋list_matrix_Tanzania的值。

lapply

list_matrix_Tanzania <- lapply(list_table_Tanzania, as.matrix, rownames.force = NA) 

用一個for循環,也可以做,你首先必須嘗試通過list_matrix_Tanzania <- vector("list", length(list_table_Tanzania)初始化列表,然後在for循環的第i次迭代的結果分配給list_matrix_Tanzania[[i]]

編輯要從lapply結果中刪除某些列,可以將其修改爲類似

list_matrix_Tanzania <- lapply(list_table_Tanzania, function(d) { 
    result <- as.matrix(d, rownames.force = NA) 
    v <- 1:2 # Replace this with the indices of the columns you wish to remove 
    result[, -v] 
}) 
+0

太好了。謝謝你的幫助。 – 2014-10-20 12:42:15