R_将头分配给三维数组
我有一个三维数组,myarrayR_将头分配给三维数组,r,R,我有一个三维数组,myarray myarray<- array(dim=c(4,6,5)) 现在我想将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.
myarray<- array(dim=c(4,6,5))
现在我想将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
>myarray[,1]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
但我的问题是,我希望将列名和行名也分配给数组(从我的矩阵中)。如何操作?可以在数组中显式设置行名和列名。请注意,它们跨越阵列的所有切片: 空数组(请注意,您确实应该使您的代码可以被剪切和复制) 将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
谢谢你@Spacedman。这就是我想要的。但我应该在问之前试试这个
> 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