私はreshape2パッケージを使用して、長いデータから広いデータに変換しようとしていますが、解決できなかったエラーが発生しています。以下の例では、私の実際のデータに似た偽のデータを作成しました。私はそれぞれの "subj"を、与えられた "ID"番号に対するそのサブジェクトのすべての "クレジット"の合計を含む列に変換したいと思います。Rのreshape2パッケージのdcastエラーを解決するには?
library(reshape2)
#は偽のデータを作成し、新しい列
#との和として「SUBJ」の値で、
ID = rep(c(100,101,102,103), each=5)
subj = rep(c("CHEM","ENGL","HIST","MATH"), 5)
credits = rep(3, 20)
df = data.frame(ID, subj, credits)
#ワイドに長いから変換したデータフレームにそれを回します
:各「SUBJ」の値がdf.wide = dcast(df, ID ~ subj, value.var=credits, fun.aggregate=sum)
は、ここで私はdcastコマンドを実行したときに、私が取得しようとしているものだとして、「クレジット」
ID CHEM ENGL HIST MATH
100 6 3 3 3
101 3 6 3 3
[and so on for each value of ID]
ここで私は上記のコードを実行したときに、私は実際に取得エラーです:
Error in .subset2(x, i, exact = exact) :
recursive indexing failed at level 2
私はdcast呼び出しから「fun.aggregate =合計を」削除した場合、私は同じエラーを取得しますが。
私は(代わりに担当者の())のサンプル()関数を使用して、「クレジット」の値を作成し、(fun.aggregate =合計なし)dcastを呼び出す場合も、私は次のエラーを取得:
をError in .subset2(x, i, exact = exact) :
no such index at level 1
私はこれまで同様のdcastコマンドを問題なく実行することができました。私は私の額を叩き、解決策を見たら "ドゥ"と叫ぶつもりだと推測していますが、私は立ち往生しています。
あなたはhttp://stackoverflow.com/questions/18882475/r-how-to-get-something-like-adjacency-matrixを見てもらえ交差点の値は/ 18883106#18883106ですが、修正をお願いします。 – andi