Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/69.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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_List_Matrix - Fatal编程技术网

R 从矩阵中创建一个列表

R 从矩阵中创建一个列表,r,list,matrix,R,List,Matrix,我有完全相反的问题 我基本上有一个矩阵,并希望从中创建一个列表,这样每行有一个元素,每一个单元格有一个子元素 元素的名称应为行名称 与上述问题相反,从一个矩阵开始,如: [,1] [,2] [,3] [,4] [,5] [,6] [1,] 1 1 2 3 4 5 [2,] 2 1 2 3 4 5 [3,] 3 1 2 3 4 5 [4,] 4 1 2

我有完全相反的问题

我基本上有一个矩阵,并希望从中创建一个列表,这样每行有一个元素,每一个单元格有一个子元素

元素的名称应为行名称

与上述问题相反,从一个矩阵开始,如:

      [,1] [,2] [,3] [,4] [,5] [,6]
 [1,]    1    1    2    3    4    5
 [2,]    2    1    2    3    4    5
 [3,]    3    1    2    3    4    5
 [4,]    4    1    2    3    4    5
 [5,]    5    1    2    3    4    5
 [6,]    6    1    2    3    4    5
 [7,]    7    1    2    3    4    5
 [8,]    8    1    2    3    4    5
 [9,]    9    1    2    3    4    5
[10,]   10    1    2    3    4    5 
我想获得如下列表:

[[1]]
[1] 1 1 2 3 4 5

[[2]]
[1] 2 1 2 3 4 5

[[3]]
[1] 3 1 2 3 4 5

[[4]]
[1] 4 1 2 3 4 5

[[5]]
[1] 5 1 2 3 4 5

[[6]]
[1] 6 1 2 3 4 5

[[7]]
[1] 7 1 2 3 4 5

[[8]]
[1] 8 1 2 3 4 5

[[9]]
[1] 9 1 2 3 4 5

[[10]]
[1] 10  1  2  3  4  5

R的最新版本有一个只用于此任务的函数(按行或列拆分):


m我们可以基于矩阵的
进行
拆分

split(mat, row(mat))

#$`1`
#[1] 1 1 2 3 4 5

#$`2`
#[1] 2 1 2 3 4 5

#$`3`
#[1] 3 1 2 3 4 5

#$`4`
#[1] 4 1 2 3 4 5
#...
数据

mat <- matrix(c(1:10, rep(1:5, each = 10)), ncol = 6)

谢谢!是
asplit
还是
split
?@DaniCee你可以随时尝试。是的,就是这样!如果你不介意的话,请回答下面的问题。。。例如,我如何重命名列表中每个元素的子元素,使它们被命名为
c('v1','v2','v3','v4','v5','v6')
setNames(split(mat,row(mat)),paste0(“v',1:nrow(mat))
@DaniCee ohh.。如果您指的是每个列表中的元素,我想您需要通过
lappy(split(mat,row(mat))再次手动分配它们),函数(x)集合名(x,粘贴0(“v”,沿(x)顺序排列))
mat <- matrix(c(1:10, rep(1:5, each = 10)), ncol = 6)