两者都提取并创建矩阵中列的名称

时间:2014-10-17 13:35:51

标签: r for-loop matrix

我有一个矩阵,其中的列表示30个不同的频率窗口和表示日期的行。我想提取每一列并为每个结果向量分配一个变量,并将该变量的名称作为该频率窗口的名称(我有中心值,所以我想将每个变量命名为F100)。编写循环以提取和命名每个变量的最佳方法是什么?

谢谢!

1 个答案:

答案 0 :(得分:0)

如果要在矩阵的列中在全局环境中创建30个变量,可以使用list2envassign(我可能会将它们保存在矩阵/数据框中,甚至可以在列表并执行所有必要的操作,而不是使用大量变量来混淆全局环境。)

 list2env(lapply(as.data.frame(mat), function(x) x), envir=.GlobalEnv)
 # <environment: R_GlobalEnv>

 f1
 #[1] 37 38 12 34 26 21 30  6 27 29

数据

set.seed(42)
 mat <- matrix(sample(1:40, 30*10, replace=TRUE), ncol=30, 
                        dimnames=list(NULL, paste0("f", 1:30)))