Rに3x168のデータフレームがあります。各行には、Day、Hour、valueの3つの列があります。曜日と時間は曜日に対応し、時間の列はその日の時間に対応し、値は私が関係する値に対応します。
このデータを、特定の日に対応する行(または列)と特定の時間に対応する列(または行)を持つ24時間365日のマトリックスに存在するように変換したいと考えています。
Rでこれを行う最も効率的な方法は何ですか?厄介なコマンドの文字列をまとめて何かを近づけることができましたが、非常に効率的な解決策があると感じています。
開始データの例:
> print(data)
weekday hour value
1 M 1 1.11569683
2 M 2 -0.44550495
3 M 3 -0.82566259
4 M 4 -0.81427790
5 M 5 0.08277568
6 M 6 1.36057839
...
156 SU 12 0.12842608
157 SU 13 0.44697186
158 SU 14 0.86549961
159 SU 15 -0.22333317
160 SU 16 1.75955163
161 SU 17 -0.28904472
162 SU 18 -0.78826607
163 SU 19 -0.78520233
164 SU 20 -0.19301032
165 SU 21 0.65281161
166 SU 22 0.37993619
167 SU 23 -1.58806896
168 SU 24 -0.26725907
私は次のタイプのものを手に入れたいと思っています:
M .... SU
1 1.11569683
2 -0.44550495
3 -0.82566259
4 -0.81427790
5
6
.
.
.
19
20
21 0.65281161
22 0.37993619
23 -1.58806896
24 -0.26725907
この方法で実際のサンプルデータを取得できます。
weekday <- rep(c("M","T","W","TH","F","SA","SU"),each=24)
hour <- rep(1:24,7)
value <- rnorm(24*7)
data <- data.frame(weekday=weekday, hour=hour, value=value)
ありがとう!