• R语言
  • 新手提问:请问如何将一个矩阵按照单双行拆分成两个矩阵呢?

<br />
x <- matrix(c(1:6),nc=3)<br />
y <- matrix(c(7:12),nc=3)<br />
z <- rbind(x,y)<br />
z<br />
     [,1] [,2] [,3]<br />
[1,]    1    3    5<br />
[2,]    2    4    6<br />
[3,]    7    9   11<br />
[4,]    8   10   12<br />


如何将Z矩阵的1、3两行与2、4两行分开成另外两个矩阵呢,谢谢。
</p>

来个简单粗暴地。

z.13 <- z[c(1,3),]

z.24 <- z[c(2,4),]

<br />
nrow.z = nrow(z)<br />
z1=z[seq(1,nrow.z,by=2),]<br />
z2=z[seq(2,nrow.z,by=2),]<br />
</p>

回复 第3楼 的 youngtf:非常感谢。明白了。版主给的简单粗暴的,不能有效扩展哈。

回复 第4楼 的 victorwangsheng:版主准确地回答了你的问题,想要什么下次可以说得更清楚一点。

回复 第5楼 的 youngtf:

原来你前面设置了个nrow.z = nrow(z)

........

我差点以为nrow.z和nrow(z)等价。。。

回复 第6楼 的 superdesolator:一共就三行。。

回复 第4楼 的 victorwangsheng:

3 楼是文艺范的,给你一个答案,完美了,你不用再学习了,也不用再思考了。

我通常都是给些很 2B 的解决方法,然后你想要用好,则还需要继续学习R。然后你就学会了学习了。

强词夺理有木有?有木有?我将我心向明月,奈何明月照沟渠。

回复 第8楼 的 lyxmoo:斑竹大大:

我本将心向明月[s:18]

回复 第8楼 的 lyxmoo:感谢版主,菜鸟II知错了[s:11]

回复 第1楼 的 victorwangsheng:

I never ever forgot this old topic[s:13]

http://cos.name/cn/topic/106397

<br />
z[c(TRUE, FALSE),]<br />
z[c(FALSE, TRUE),]<br />
</p>
6 天 后

回复 第12楼 的 YSU:

fantastic

回复 第12楼 的 YSU:那个贴子应该脱水总结.

实际上解决了提取每M行中的第N行数据的问题.

如果M不是很大的话,几乎和AWK一样精练了.