私は以下のようなデータを持っていますので、長い形式に変換したいと思います。R:データをワイドからロングに変換する - 複数の条件 - エラーが発生する
id count a1 b1 c1 a2 b2 c2 a3 b3 c3 age
1 1 apple 2 3 orange 3 2 beer 2 1 50
1 2 orange 3 2 apple 2 2 beer 2 1 50
2 1 pear 3 2 apple 2 2 orange 2 2 45
[A1、B1、C1]、[A2、B2、C2]、[A3、B3、C3]割り当てられたIDの人が直面している3つの属性のセットがあり、この人は、複数の直面するかもしれませんi番目の選択状況を示すカウントを持つ選択状況。私は、次のような他の変数を維持しながら、長い形式に戻し、それを変更する:次のコマンドを使用して
id count a b c age
1 1 apple 2 3 50
1 1 orange 3 2 50
1 1 beer 2 1 50
1 2 orange 3 2 50
1 2 apple 2 2 50
1 2 beer 2 1 50
2 1 pear 3 2 45
2 1 apple 2 2 45
2 1 orange 2 2 45
私が試してみましたリシェイプが、私はtimevarと時代に対処する場所の面で混乱してしまいます。
l <- reshape(df,
varying = df[,3:11],
v.names = c("a","b","c"),
timevar = "choice",
times = c("a","b","c"),
direction = "long")
上記のコマンドを使用すると、私は望む結果が得られません。本当に助けていただければ幸いです!
を使用することができ、それは.subset(X、J)でエラーを言う:無効な添字型 'list' の – lll
私はまだ始まったばかり新しいRセッションを作成し、エラーなしで追加したデータでコードを実行しました。 – lmo
さまざまなグループや名前を手動で指定する必要はありません。 'reshape()'は 'reshape(dat、idvar = c(" id "、" count "、" age ")、direction =" long "、varying = 3:11、sep =" ")' 'sep =" "は各' a/b/c'と '1/2/3'が何も' '" 'timevar'と' v.names'が推論されます。 – thelatemail