Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何在循环中获取多个矩阵并自动分配它们?_R_Loops_Matrix - Fatal编程技术网

R 如何在循环中获取多个矩阵并自动分配它们?

R 如何在循环中获取多个矩阵并自动分配它们?,r,loops,matrix,R,Loops,Matrix,我有一个包含15个不同组的列表,我想在for循环中将它们转换成15个不同的矩阵。然而,我无法让它工作 a=split(datalist,as.factor(datalist$groups)) 当我这样做时,我可以通过键入[1]a[2]等来可视化不同的组。我的每个a组件(a[1],a[2]等)都在一个列表中,大小为3x24,它们被视为非数字。我在使用split命令后得到这些组件。但我需要它们作为数字,这就是为什么我认为我需要将它们转换成矩阵,为此,我尝试做一个循环,将这些组件转换成15个不同的矩

我有一个包含15个不同组的列表,我想在for循环中将它们转换成15个不同的矩阵。然而,我无法让它工作

a=split(datalist,as.factor(datalist$groups))
当我这样做时,我可以通过键入[1]a[2]等来可视化不同的组。我的每个a组件(a[1],a[2]等)都在一个列表中,大小为3x24,它们被视为非数字。我在使用split命令后得到这些组件。但我需要它们作为数字,这就是为什么我认为我需要将它们转换成矩阵,为此,我尝试做一个循环,将这些组件转换成15个不同的矩阵,大小为3x24

对于每个i数(从1到15),我可以使用

matrix(unlist(a[i]), ncol=columnlength,byrow=rowlength)
这个命令

然后我开始循环

    for (i in 1:15) {
  b[i]=matrix(unlist(a[i]), ncol=24,byrow=3)

    }

这是错误的,因为我使用的b[I]只指定了矩阵的一个单位。但是我不知道用什么来代替b[I]。

我不明白你的问题

a=split(datalist,as.factor(datalist$groups))
“a”结果是向量或矩阵| data.frame

然后你把“b”矩阵装箱,3x24

你想把每个“a”元素都放到“b”矩阵中,对吗

你的“a”有24个元素,每个元素有3个?(像矩阵…)


b我不明白你的问题

a=split(datalist,as.factor(datalist$groups))
“a”结果是向量或矩阵| data.frame

然后你把“b”矩阵装箱,3x24

你想把每个“a”元素都放到“b”矩阵中,对吗

你的“a”有24个元素,每个元素有3个?(像矩阵…)


b以下是我使用
mtcars

首先,像你已经做的那样分开

split.df <- split(mtcars, mtcars$cyl)

使用
分配给
以下是我使用
mtcars

首先,像你已经做的那样分开

split.df <- split(mtcars, mtcars$cyl)
使用
分配给

for (x in 1:length(newnames)) {
      assign(newnames[x], as.matrix(split.df[[x]]))
}