在R

时间:2017-06-10 21:44:26

标签: arrays r

您好我有关于在R中的3D数组中命名行的问题。如果我有以下代码:

x<-rbind(c(46,30),c(21,25),c(50,50))
y<-rbind(c(46,43),c(41,35),c(50,50))
test<-array(data = c(x,y),dim = c(3,2,2))

我将如何给出测试数组的所有行不同的名称。不同意思是我希望数组的每一行都有一个唯一的名称。比方说,我希望对应于test [,, 1]的数组'slice'中的行被称为'a','b'和'c',我希望数组切片中的行对应于测试[,, 2]被称为'd','e'和'f'?

我试过了:

rownames(test[,,1])<-c('a','b','c')
rownames(test[,,2])<-c('d','e','f')

但这似乎不起作用。我在这个网站上找到的唯一答案给出了每个数组切片的相同行名。感谢。

1 个答案:

答案 0 :(得分:0)

在三维(或更高)数组中命名维度的关键字是dimnames,但我不认为你要求的东西(动态改变维度名称)是可行的。听起来你想要创建一个命名数组列表。试试

l = list(table1 = test[,,1], table2 = test[,,2])
rownames(l[[1]]) <- c('a','b','c')
rownames(l[[2]]) <- c('d','e','f')