因此对R中的结构()感到困惑

时间:2014-03-08 07:17:37

标签: r function structure

我在structure()看着R-help。帮助文件给出的示例如下:

structure(1:6, dim=2:3)
     [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6

创建了一个非常漂亮的2乘3矩阵。但是,当我尝试

structure(1:8, dim=2:4)

它无效。为什么?另一个问题是我应该何时使用此structure()函数?我不明白为什么我们需要它,因为我们有matrix()data.frame()等等。

2 个答案:

答案 0 :(得分:4)

您的代码不起作用的原因是因为2:4得出(2,3,4)。如果你想要一个2x4矩阵,你想要c(2,4)。也就是说,使用structure设置矢量上的属性以将其转换为矩阵是一种非常奇怪的方式。 structure只会返回带有附加/修改属性的对象副本,在您的情况下利用R将矩阵表示为具有dim属性的向量的事实。

答案 1 :(得分:0)

如果你想要一个数组,那么使用'array'函数。

array(1:8, dim=2:4)

R中的初学者需要'结构'的次数不多。