5

ddplyメソッドを使用して、3000本の映画に関するさまざまな情報を含むデータフレームを取得し、各ジャンルの平均グロスを計算しようとしています。私はRを初めて使用し、ここでddplyに関連するすべての質問を読みましたが、それでも正しく理解できないようです。これが私が今持っているものです:

> attach(movies)
> ddply(movies, Genre, mean(Gross))
Error in llply(.data = .data, .fun = .fun, ..., .progress = .progress,  : 
.fun is not a function.

ジャンルごとにグループ化された、映画の各セットの「グロス」列の値の平均をとる関数をどのように作成する必要がありますか?これは簡単な質問のように思えますが、ドキュメントは私には本当に混乱を招き、R構文についてはまだあまり詳しくありません。

これを簡単にするddply以外の方法はありますか?

ありがとう!!

4

2 に答える 2

10

これは、ggplot2で利用可能なヒントデータセットを使用した例です。

library(ggplot2);
mean_tip_by_day = ddply(tips, .(day), summarize, mean_tip = mean(tip/total_bill))

これがお役に立てば幸いです

于 2011-03-06T06:07:14.673 に答える
2

そのような単純な操作には、おそらくplyrは必要ありません。tapply()仕事を簡単に行うことができ、追加のパッケージをロードする必要はありません。構文もRamnathのものより単純に見えます:

tapply(tips$tip, tips$day, mean)

plyrは多くのタスクにとって素晴らしいツールであることに注意してください。私には、ここではやり過ぎのように思えます。

于 2011-03-06T20:49:52.837 に答える