この質問は以前の質問と関連しています。複数の変数を持つワイドからロングの形式
前の質問はここにある:私は以下のようなルックスで始まるWide to long data conversion
幅のデータ:この例では
d2 <- data.frame('id' = c(1,2),
'Q1' = c(2,3),
'Q2' = c(1,3),
'Q3' = c(3,1),
'Q1_X_Opt_1' = c(0,0),
'Q1_X_Opt_2' = c(75,200),
'Q1_X_Opt_3' = c(150,300),
'Q2_X_Opt_1' = c(0,0),
'Q2_X_Opt_2' = c(150,200),
'Q2_X_Opt_3' = c(75,300),
'Q3_X_Opt_1' = c(0,0),
'Q3_X_Opt_2' = c(100,500),
'Q3_X_Opt_3' = c(150,300))
、3つの質問に答えてきた二人の個人があります。各質問に対する答えは、Q1、Q2、およびQ3で符号化された以下の値{1,2,3}を取ります。したがって、この例では、個人1がQ1でオプション2を選択し、Q2でオプション1を選択し、Q3でオプション3を選択しました。
各オプションには、各オプションに関連する変数Xもあります。これもワイドフォーマットに変換する必要があります。私は、次のようなルックスを求めている出力は:
id question option choice cost
1 1 1 1 0 0
2 1 1 2 1 75
3 1 1 3 0 150
4 1 2 1 1 0
5 1 2 2 0 150
6 1 2 3 0 75
7 1 3 1 0 0
8 1 3 2 0 100
9 1 3 3 1 150
10 2 1 1 0 0
11 2 1 2 0 200
12 2 1 3 1 300
13 2 2 1 0 0
14 2 2 2 0 200
15 2 2 3 1 300
16 2 3 1 1 0
17 2 3 2 0 500
18 2 3 3 0 300
私は前の質問への答えからコードを適応しようとしたが、これまでに無い成功しています。提案やコメントをありがとう。
はい、最後の2本のパイプは、その後の発現の周りに暗黙の
with(., ...)
を提供博覧会演算子%$%
を使用することに注意してください!これは機能します。今、私の頭を掘って歩みをよく理解してください。 – mpap