数组维度命名导致错误:'dimnames'的长度与数组范围不相等。

11

这是我第一次使用三维数组,我在命名第三维方面遇到了问题。

ReplicateData <- array(0, c(240, 500, 5), dimnames=list(NULL, NULL, c("Returns", "Replicates", "Asset Class")))

我遇到了以下错误:

维度名称的长度与数组范围不相等

这似乎应该是一个简单的问题,但我在帮助文档或在线上找不到明确的例子。

2个回答

13

你的数组有第三个维度,长度为5,但是用于该维度名称的向量只有长度为三。


谢谢。我在想名称长度应该与维度数量匹配。 - ProbablePattern
好的,这也是你可以拥有的东西; 我们称之为“命名维度”。 table()函数实际上是使用它们的一个重要示例:
with(airquality, table(OzHi=Ozone > 80, Month, useNA="ifany"))
Month OzHi 5 6 7 8 9 FALSE 25 9 20 19 27 TRUE 1 0 6 7 2 5 21 5 5 1您可以手动使用以下内容: tab. <- array(1:15, dim=c(3,5), dimnames= list(OzHi = c("FALSE", "TRUE", NA), Month = c("5", "6", "7", "8", "9")))来获得“相同”的结果。
- Martin Mächler

8

由于我更容易理解带有一点代码的答案,因此这里是Jonathan Chang的正确答案的代码翻译:

ReplicateData <- array(0,c(240,500,5),dimnames=list(NULL, NULL, 
  c("Returns","Replicates","Asset Class", "Fourth Dimname", "Fifth Dimname")))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接