簡體   English   中英

將二維矩陣轉換為 3d 矩陣

[英]Turning 2d matrix into 3d matrix

我意識到關於這個主題有多個線程,但是沒有一個答案對我有用。 現在,我有一個包含 6720 行和 3 個變量的二維矩陣。 第一個變量是日期,它應該由 112 個切片組成(每天應該代表一個切片)。 此外,每個切片應該有 60 行。 但是,3D 矩陣中的值應該是以下兩個變量,而不是日期。 問題是,每當我嘗試對其進行轉換時,它只會將日期作為值。

final.dataset <- array(data = final.dataset, dim = c(60, 2, 112))

這是當前數據集的樣子,變量 mean_flourishing 和 picture_id 應該是值

正如@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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM