0

「データ」と呼ばれるsparkRにデータフレームがあります。「データ」には、「user」、「amount_spent」、および「amount_won」が含まれます。ユーザー 1 の残高 = amount_spent - amount_won を計算したい。

y <- filter(data, data$user==1)

今、私は合計を計算します

yn <- agg(groupBy(y, "user"), amount_spent="sum", amount_won="sum")

ここで、ユーザー 1 の残高を計算します

ynn <- withColumn(yn, "balance", yn[[3]] - yn[[2]])

これですべて正しい結果が得られますが、「バランス」を付けて、DataFrame である「ynn」からの整数として使用したいと考えています。どうやってやるの?そして、これを 100 人のユーザーに対して実行したい場合は、同じことを 100 回実行する必要があると思います。

4

1 に答える 1

1

私は何かが欠けているかもしれませんが、そうしないのはなぜですか:

## The data set is now `data` not yn
yn = agg(groupBy(data, "user"), amount_spent="sum", amount_won="sum")

残高を計算すると、ユーザーごとに残高があります

ynn = withColumn(yn, "balance", yn[[3]] - yn[[2]])
于 2015-08-28T14:12:39.643 に答える