0

データが次の形式になっているファイルが多数あります

year Jan Feb Mar ...........Dec
1990 x1  x2   x3           x12    
1991 y1  y2   y3           y12

. .

2000 z1 z2 z3             z12

各行を転置し、それらを列として積み重ねて、時系列を次のように取得したい

x1
x2


..
x12
y1
y2
..
y12
z1
.
.
z12

reshape パッケージを見てきましたが、この問題にどのように適用されるかは明確ではありません。R でこれを行うためのアイデアはありますか?

4

2 に答える 2

2

おそらくmelt()、「reshape2」パッケージからあなたが探しているものです:

library(reshape2)
DF <- read.table(header = TRUE, text = "Year Jan Feb Mar 
1990 x1  x2   x3     
1991 y1  y2   y3 ")

DF2 <- melt(DF, id.vars="Year")
DF2[order(DF2$Year), ]
#   Year variable value
# 1 1990      Jan    x1
# 3 1990      Feb    x2
# 5 1990      Mar    x3
# 2 1991      Jan    y1
# 4 1991      Feb    y2
# 6 1991      Mar    y3
于 2012-10-13T08:12:41.997 に答える
1

あなたのデータがと呼ばれているとしましょdatう、私は提案したいと思います:

as.vector(t(dat[,-1]))
于 2012-10-13T19:17:17.193 に答える