0
mtcars
のデータフレームを作成しました。私はgear
とcyl
でグループを行います。私はhp
とdisp
のための最大を計算します。そこには8つのグループがあるはずなので、何かがグループで間違っている。私は6つのグループしか得られません。sparkRのGroupbyが希望の結果を出さない
library(sparkR)
xx=as.DataFrame(sqlContext, data = mtcars)
head(agg(groupBy(xx, "gear", "cyl"), hp = 'max'))
gear cyl max(hp)
1 3 8 245
2 5 4 113
3 3 4 97
4 4 4 109
5 5 6 175
6 3 6 110
アップデート1:
私たちは例を持っているgroupby
のドキュメントで、別のクエリを持っているように:私は
agg(groupBy(xx, "gear", "cyl"), qsec ="avg", "disp" -> "max")
を思い付いた
mtcarsための同様
## Examples
## Not run:
# Compute the average for all numeric columns grouped by department.
avg(groupBy(df, "department"))
# Compute the max age and average salary, grouped by department and gender.
agg(groupBy(df, "department", "gender"), salary="avg", "age" -> "max")
## End(Not run)
まず、私の理解は、 disp
の最大値を取得しますが、コードが機能していないようです。それは以下のようにエラーを出します。もう1つは、コードが->
の代わりに=
で動作することです。それで、タイプミスなどがあります。
unable to find an inherited method for function ‘groupBy’ for signature ‘"function"’
マイSparkRバージョンがSparkR_1.6.1
です。
ああを使用しています。どのように私は '頭を逃すことができます。 'collect'に関するアドバイスをありがとう。 –
更新情報をご覧ください。 –
あなたのスパークのバージョンを教えてください。そして、 "disp" - > "max"の意味がdisp変数の最大値を取得するだけであれば、 '='で置き換える必要があります。 –