【问题标题】:How can I create multiple matrices or dataframes from a list in R?如何从 R 中的列表创建多个矩阵或数据框?
【发布时间】:2020-06-19 08:19:16
【问题描述】:

我有一个这样的列表:

[[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)
}

但它不起作用。我也尝试将该列表转换为数据框,但我做不到。

【问题讨论】:

  • 请分享dput(head(your_list, 2))的输出。
  • lapply(A, function(x) matrix(x, ncol = 3, byrow = TRUE)) ?
  • 差不多就是这样!但我想将每个 A[[i]] 转换为列表之外的矩阵。我怎样才能做到这一点?

标签: r list dataframe matrix


【解决方案1】:

编辑:

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

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"

但我们必须注意,矩阵只能有一种数据类型,这意味着在这种情况下,所有内容都将是字符串!

【讨论】:

    猜你喜欢
    • 2019-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 2021-05-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多