我有一个三维数组,myarray
myarray<- array(dim=c(4,6,5))
和矩阵,mymatrix
> mymatrix
Bias TS PC H F FAR
red 1.0 1.0 1 1.0 0.00 0.00000
orange 1.0 1.0 1 1.0 0.00 0.00000
yellow 0.5 0.5 1 0.5 0.00 0.00000
medium 1.0 1.0 1 1.0 0.25 0.00037
现在我想将mymatrix指定为myarray中的元素之一。所以我正在做以下
> myarray[,,1]<-mymatrix
> myarray[,,1]
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 1.0 1.0 1 1.0 0.00 0.00000
[2,] 1.0 1.0 1 1.0 0.00 0.00000
[3,] 0.5 0.5 1 0.5 0.00 0.00000
[4,] 1.0 1.0 1 1.0 0.25 0.00037
但我的问题是我想要将列和行名称分配给数组(来自我的矩阵)。我该怎么办?
答案 0 :(得分:1)
您可以在阵列上显式设置行名和列名。请注意,它们跨越阵列的所有切片:
空数组(请注意,您确实应该将代码剪切为可接受的)
> myarray=array(dim=c(4,6,10))
> myarray[,,1]
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] NA NA NA NA NA NA
[2,] NA NA NA NA NA NA
[3,] NA NA NA NA NA NA
[4,] NA NA NA NA NA NA
将mymatrix分配给切片:
> myarray[,,1]=mymatrix
> myarray[,,1]
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 5 0 0 1 1 2
[2,] 10 10 11 1 11 0
[3,] 0 8 11 2 2 8
[4,] 9 6 2 5 3 0
设置行名和列名:
> rownames(myarray)=rownames(mymatrix)
> colnames(myarray)=colnames(mymatrix)
> myarray[,,1]
Bias TS PC H F FAR
red 5 0 0 1 1 2
orange 10 10 11 1 11 0
yellow 0 8 11 2 2 8
medium 9 6 2 5 3 0
请注意,所有切片现在都具有相同的行名和列名:
> myarray[,,2]
Bias TS PC H F FAR
red NA NA NA NA NA NA
orange NA NA NA NA NA NA
yellow NA NA NA NA NA NA
medium NA NA NA NA NA NA