Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R_将头分配给三维数组_R - Fatal编程技术网

R_将头分配给三维数组

R_将头分配给三维数组,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

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