[英]Turning 2d matrix into 3d matrix
我意识到关于这个主题有多个线程,但是没有一个答案对我有用。 现在,我有一个包含 6720 行和 3 个变量的二维矩阵。 第一个变量是日期,它应该由 112 个切片组成(每天应该代表一个切片)。 此外,每个切片应该有 60 行。 但是,3D 矩阵中的值应该是以下两个变量,而不是日期。 问题是,每当我尝试对其进行转换时,它只会将日期作为值。
final.dataset <- array(data = final.dataset, dim = c(60, 2, 112))
正如@user2554330 所说,这是一个data.frame
而不是一个matrix
。 您可以按日期拆分data.frame
,然后将其转换为数组:
DF = data.frame(date = rep(seq.Date(as.Date('2013-03-23'), by = "1 day", length.out = 3), each = 4L),
Mean_Flourishing = 1:12,
picture_idx = 1:12 + 12L)
array(unlist(split(DF[-1L], DF[1L])), dim = c(4L, 2L, 3L))
, , 1
[,1] [,2]
[1,] 1 13
[2,] 2 14
[3,] 3 15
[4,] 4 16
, , 2
[,1] [,2]
[1,] 5 17
[2,] 6 18
[3,] 7 19
[4,] 8 20
, , 3
[,1] [,2]
[1,] 9 21
[2,] 10 22
[3,] 11 23
[4,] 12 24
## original look of data.
DF
date Mean_Flourishing picture_idx
1 2013-03-23 1 13
2 2013-03-23 2 14
3 2013-03-23 3 15
4 2013-03-23 4 16
5 2013-03-24 5 17
6 2013-03-24 6 18
7 2013-03-24 7 19
8 2013-03-24 8 20
9 2013-03-25 9 21
10 2013-03-25 10 22
11 2013-03-25 11 23
12 2013-03-25 12 24
下次,请在您的问题中包含数据而不是图片。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.