【问题标题】:Convert list of tables to a list of matrices将表列表转换为矩阵列表
【发布时间】:2014-10-20 12:16:00
【问题描述】:

我有一个表列表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)
}

有人知道我怎样才能获得与列表中表格数量相同数量的矩阵吗?

【问题讨论】:

    标签: r for-loop matrix


    【解决方案1】:

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

    试试lapply

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

    也可以使用 for 循环执行此操作,您首先必须通过 list_matrix_Tanzania &lt;- 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]
    })
    

    【讨论】:

    • 太棒了。感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-23
    • 2011-01-29
    • 1970-01-01
    • 1970-01-01
    • 2010-12-03
    • 1970-01-01
    • 2015-05-27
    相关资源
    最近更新 更多