2013-03-20 17 views
0

我想在R中找到一個簡單的方法來獲取具有person_id,日期和幾個變量字段的數據集(比方說20 ,命名爲x1,x2 ... x20)並將其轉換爲三維數組(m乘n乘p),其中m是人數,n是離散時間段的數量,p是變量。R - 面板數據長形式到形式人x時間x功能的3維陣列

目前的數據顯示爲:

m1 n1 x1 x2 x3 ... x20  
m1 n2 x1 x2 x3 ... x20 
m1 nN . . . ... . 
m2 n1 x1 x2 x3 ... x20 
. . . . . ... . 
. . . . . ... . 
mM nN x1 x2 x3 x4 ... x2 

最後,我想它看起來像如下:

[, , 1]  
        [, 1, ] [, 2, ] [, 3, ][, ..., ][, n, ]  
      [1, , ]  
      [2, , ]  
      [3 , ,]  
      [... , ,]  
      [m, , ] 
[, , 2]  
[, , 3]  
[, , ...] 
[, , p] 

爲了簡單起見,我們假設時間系列是完全一致的(每個m具有完全相同的n)。

謝謝!

回答

0

使用reshape2:

library(reshape2) 
# You probably need to melt your data first 
dataset.m <- melt(dataset, id.vars = c("m", "n")) 

acast(dataset.m, m ~ n ~ variable) 
+0

感謝。我通讀了熔化和咖啡的功能。這將很好地工作。我會投票,但我還沒有足夠的街頭信譽。 – Jeremy 2013-03-20 15:31:20

相關問題