R 提取和创建矩阵中列的名称

R 提取和创建矩阵中列的名称,r,for-loop,matrix,R,For Loop,Matrix,我有一个矩阵,列表示30个不同的频率窗口,行表示日期。我想提取每一列并为每个结果向量分配一个变量,并将该变量的名称作为频率窗口的名称(我在中间有一些值,所以我想将每个变量命名为f100)。编写循环以提取和命名每个变量的最佳方法是什么 谢谢 如果您想从矩阵的列在全局环境中创建30个变量,您可以使用list2env或assign(我可能会将它们放在一个矩阵/数据框中,甚至是一个列表中,并执行所有必要的操作,而不是用大量变量扰乱全局环境) list2env(lapply(as.data.frame(m

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


谢谢

如果您想从矩阵的列在全局环境中创建30个变量,您可以使用
list2env
assign
(我可能会将它们放在一个矩阵/数据框中,甚至是一个列表中,并执行所有必要的操作,而不是用大量变量扰乱全局环境)

list2env(lapply(as.data.frame(mat),function(x)x),envir=.GlobalEnv)
# 
f1
#[1] 37 38 12 34 26 21 30  6 27 29
数据
set.seed(42)

mat请显示一个小示例数据集和预期结果。
 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)))