我在sparkR中有一个名为'data'的DataFrame。 '数据'包含'user','amount_spent'和'amount_won'。 我想为用户1计算balance = 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]])
这一切都给了我一个正确的结果,但是我想附加“balance”并将它作为一个整数来自'ynn',这是一个DataFrame。我怎样才能做到这一点?如果我想为100个用户做这个,我需要做100次相同的事情。
答案 0 :(得分:1)
我可能会遗漏一些东西,但为什么不这样做:
var searchedObject = obj.filter(function(el) {
return el.property == "1"
})[0]; // [0] to get the 1st element.
现在计算余额时,每个用户都有
## The data set is now `data` not yn
yn = agg(groupBy(data, "user"), amount_spent="sum", amount_won="sum")