4

こんにちは、次のようなデータがあります。

partNumber manufacturer supplier availability
p1         m1           s1       100
p1         m1           s2       500
p2         m2           s1       200
p2         m2           s3       300
....

私の予想される出力は次のようになります。

partNumber manufacturer s1    s2    s3...
p1         m1           100   500   0 ...
p2         m2           200   0     300 ...
...

reshape2 パッケージで dcast を使用してこれを実装しようとしていましたが、これが私のコマンドです:

df.dcast <- dcast(df, partNumber + manufacturer ~ supplier, value.var="availability")

ただし、出力値は 0 と 1 のみであり、可用性の値を表示する代わりに出力をチェックアウトに変えたようです。

partNumber manufacturer s1    s2    s3...
p1         m1           1     1     0 ...
p2         m2           1     0     1 ...
...

ところで、コマンドの実行中に警告が表示されます

Aggregation function missing: defaulting to length... 

集計関数が何をするのかよくわかりません。ヘルプと説明があれば幸いです。

4

1 に答える 1

3

あなたのデータ例でこれを行うと、次のようになります。

df.dcast <- dcast(df, partNumber + manufacturer ~ supplier, value.var="availability")
df.dcast
  partNumber manufacturer  s1  s2  s3
1         p1           m1 100 500  NA
2         p2           m2 200  NA 300

最も可能性が高いのは、あなたのavailabilityコラムがあなたが思っているものではないということです。入力ファイルのその列にテキストがあったため、因子変数に変換された可能性があります。その場合は、R-FAQ 7.10を読む必要があります。

于 2013-09-27T21:36:27.087 に答える