x <- array(seq_len(18L), dim = c(3L, 3L, 2L),
dimnames = list(D1 = letters[1:3], D2 = letters[4:6], D3 = letters[7:8]))
x
## , , D3 = g
##
## D2
## D1 d e f
## a 1 4 7
## b 2 5 8
## c 3 6 9
##
## , , D3 = h
##
## D2
## D1 d e f
## a 10 13 16
## b 11 14 17
## c 12 15 18
z <- array(seq_len(18L), dim = c(3L, 3L, 2L))
names(dimnames(z)) <- c("D1", "D2", "D3")
## Error in names(dimnames(z)) <- c("D1", "D2", "D3") :
## attempt to set an attribute on NULL
1条答案
按热度按时间kjthegm61#
要构造一个命名为
dimnames
的数组,传递一个命名列表作为matrix
或array
的dimnames
参数:要修改现有数组,使其命名为
dimnames
,请设置dimnames
属性的names
属性:但是,请注意,如果
dimnames(y)
是NULL
,则names(dimnames(y)) <- value
将无法工作:在上面的例子中,要获得命名但为“空”的
dimnames
,必须执行以下操作:或等同地
现在:
有趣的是,我们在
print
输出中没有看到D3 = 1
和D3 = 2
。这 * 可能 * 是一个bug -我必须问问楼上的人。