18

年、状態、および値のフィールドを使用して正規化された方法でDBから取得されるデータがあります。

データを分析して、各年がレコードではなくフィールドである形式にする必要があるので、各レコードが状態で、各年のフィールドとそれらのフィールドの各値があるデータが必要です。その年とその州の値です。

これを行うためのコマンドはありますか?

ので、私は持っています:

State  Year  Value  
   KY  1998     56  
   KY  1997     78  
   IL  1998     48  
   IL  1997     72

そして私が欲しい:

State  1997_value  1998_value  
   KY          78          56  
   IL          72          48
4

3 に答える 3

21

reshape()関数を使用したい。

reshape(data, idvar="State", timevar="Year", direction="wide")
于 2009-07-23T02:21:02.030 に答える
6

別のオプションは、他に類を見ないハドリーウィッカムによって作成されたリシェイプパッケージを使用することです。

library(reshape)

tuna<-melt(data,id.vars=c("State","Year"))

cast(tuna,State~Year~variable)
于 2009-07-23T02:56:09.883 に答える
2

メルトラインとキャストラインを組み合わせて、リキャスト関数を1回呼び出すこともできます。

ds <- data.frame(State = c("KY", "KY", "IL", "IL"), 
Year = c(1998, 1997, 1998, 1997), 
Value = c(56, 78, 48, 72))

library(reshape)
recast(ds, State ~ Year, id.var = c("State", "Year"))
于 2009-07-23T19:22:01.963 に答える