首页 > 解决方案 > 使用循环将多个矩阵转换为数据帧

问题描述

我正在尝试编写一个循环,该循环采用多个 1x2 矩阵,添加列名并将它们转换为表。

我的矩阵如下所示:

Floor4 <- matrix(c(167, 168, 170, 177,178,179, 180, 335, 336, 343, 344, 353, 489, 490, 498, 501, 502, 45,44,45,45,46,46,44,46,46,44,46,46,45,45,45,45,45), ncol = 2, byrow = F)

我将它们连接成这样的列表:

floor_list <- list(Floor2, Floor3, Floor4)

我想编写一个附加列名的for循环,然后将对象转换为表,如下所示:

for (i in floor_list) {
  colnames(i) <- c("Flight", "Total")
  i <- as.table(i)
}

任何帮助,将不胜感激。

标签: rloops

解决方案


我对你的代码做了一些修改。我使用包data.table来获取表格。然后我更改了每个表的输出名称:

x = 0
for (i in floor_list) {
  colnames(i) <- c("Flight", "Total")
  out <- as.data.table(i)
  assign(paste("Table",x,sep = "_"), out)
  x <- x + 1
}

这不漂亮,但它正在工作


推荐阅读