R矩阵创建

时间:2016-04-15 19:17:51

标签: r matrix

您好我有一个关于R.的快速问题 我有三个陈述:

    n=187
    a <- MatrixA[ (1):(4*n), c('x1','y') ]
    b <- MatrixA[ (1):(4*n), c('y') ]

其中矩阵A是1250 x 2矩阵,第一列标记为“x1”,第二列标记为“y”。

我运行命令并且a变为748 x 2 矩阵但是b是(它表示int [1:748] blablabla)。
为什么是这样?我很困惑:这些陈述几乎完全相同。

我的最终目标是将b创建为748 x 1矩阵,其值为'y'列。
任何帮助表示感谢,感谢您阅读!

关于Rstudio:版本0.99.893 - ©2009-2016 RStudio,Inc。 Mozilla / 5.0(Macintosh; Intel Mac OS X 10_11_3)AppleWebKit / 601.4.4(KHTML,与Gecko一样)

1 个答案:

答案 0 :(得分:3)

当进行子集化时,如果可能,R将简化输出。例如,如果您只选择矩阵的单个列,则默认情况下它将被强制转换为矢量。有关详细信息,请参阅here

快速解决方案是:

b <- MatrixA[ (1):(4*n), c('y'), drop=FALSE]