我希望能够在R中取一个矩阵,并使每行都是它自己的向量(理想情况下,在循环矩阵时,我可以迭代并分配一个名称)。例如,如果我有一个矩阵M:
> M<-matrix(c(1,-4,-4,3,4,-4,17,15,-12),3,3)
> M
[,1] [,2] [,3]
[1,] 1 3 17
[2,] -4 4 15
[3,] -4 -4 -12
我希望能够遍历M并创建我可以命名的向量,以便我最终将每一行作为它自己的独立向量:
> row1<-M[1,];row2<-M[2,];row3<-M[3,];
> row1
[1] 1 3 17
> row2
[1] -4 4 15
> row3
[1] -4 -4 -12
很明显我可以这样做,但是对于一个超过100行的矩阵来说,这是一场噩梦,我不知道如何迭代for循环,来允许我在变量名赋值在每次迭代时改变的情况下这样做,理想情况下我希望能够在一个有行名称的矩阵中这样做,然后我可以给每个向量分配变量名,这个变量名就是它在原始矩阵中所在行的行名。
1条答案
按热度按时间ljo96ir51#
你可以用
assign()
来做这件事:或
...但是你应该仔细考虑你为什么要这样做。如果你这样做,你最终会得到一个充满单个变量的命名空间。此外,要在循环中访问单个变量,你将不得不使用
get()
(assign()
的逆)跳过丑陋而低效的环。你的用例是什么?