簡體   English   中英

如何從 R 中的列表創建多個矩陣或數據框?

[英]How can I create multiple matrices or dataframes from a list in R?

我有一個這樣的列表:

[[1]]
[1] "Vigia"                      "PA"                         "1508209"                   
[4] "Viseu"                      "PA"                         "1508308"                   

[[2]]
[1] "Abaetetuba"                 "PA"                         "1500107"                   
[4] "Acara"                      "PA"                         "1500206"

我想制作兩個這樣的矩陣:

                           [,1]                       [,2]                          [,3] 
[1,]                      Vigia                         PA                       1508209
[2,]                      Viseu                         PA                       1508308

                           [,1]                       [,2]                          [,3] 
[1,]                 Abaetetuba                         PA                       1500107
[2,]                      Acara                         PA                       1508308

我試過用

for(i in 1:2){
  output[i] <- matrix(unlist(A[[i]]), ncol = 3, byrow = TRUE)
}

但它不起作用。 我還嘗試將該列表轉換為數據框,但我不能。

編輯:

更正了我的答案,因此它使用循環:

li <- list(c( "Vigia", "PA", "1508209", "Viseu", "PA", "1508308"),
           c("Abaetetuba", "PA", "1500107", "Acara", "PA", "1500206"))

output <- list()
for(i in seq_along(li)){
  output[[i]] <- matrix(li[[i]], nrow=2, byrow = TRUE)
}

output[[1]]
 [,1] [,2] [,3] [1,] "Vigia" "PA" "1508209" [2,] "Viseu" "PA" "1508308"
output[[2]]
 [,1] [,2] [,3] [1,] "Abaetetuba" "PA" "1500107" [2,] "Acara" "PA" "1500206"

但是我們必須意識到矩陣只能有一種數據類型,這意味着在這種情況下,一切都將是字符串!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM