0

我在 sparkR 中有一个名为“数据”的 DataFrame。'Data' 包含 '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 回答