stats パッケージの reshape が設計されていることを正確に実行しようとしています。形式の一連の変数を持つ幅広いデータセットがありますvar_name.date
。残念ながら、reshape は中規模のデータセットでさえ処理するには不十分なようです。そのため、data.table.melt
関数を使用しようとしています。
私の主な問題は、長い形式の変数に基づいて変数を個別の値列にグループ化することです。これは可能ですか、それともそれぞれを個別に実行してから実行する必要がありcbind
ますか?
ここに私が持っているものがあります:
widetable = data.table("id"=1:5,"A.2012-10"=runif(5),"A.2012-11"=runif(5),
"B.2012-10"=runif(5),"B.2012-11"=runif(5))
id A.2012-10 A.2012-11 B.2012-10 B.2012-11
1: 1 0.82982349 0.2257782 0.46390924 0.4448248
2: 2 0.46136746 0.2184797 0.05640388 0.4772663
3: 3 0.61723234 0.3950625 0.03252784 0.4006974
4: 4 0.19963437 0.7028052 0.06811452 0.3096969
5: 5 0.09575389 0.5510507 0.76059610 0.8630222
そして、これはstats
パッケージがreshape
私を嘲笑し、1行の素晴らしさで私が望んでいることを正確に実行しますが、スケーリングはしません。
reshape(widetable, idvar="id", varying=colnames(widetable)[2:5],
sep=".", direction="long")
id time A B
1: 1 2012-10 0.82982349 0.46390924
2: 2 2012-10 0.46136746 0.05640388
3: 3 2012-10 0.61723234 0.03252784
4: 4 2012-10 0.19963437 0.06811452
5: 5 2012-10 0.09575389 0.76059610
6: 1 2012-11 0.22577823 0.44482478
7: 2 2012-11 0.21847969 0.47726629
8: 3 2012-11 0.39506249 0.40069737
9: 4 2012-11 0.70280519 0.30969695
10: 5 2012-11 0.55105075 0.86302220