在 SparkR 我有一个 DataFramedata
包含id
,amount_spent
和amount_won
.
例如对于 id=1 我们有
head(filter(data, data$id==1))
输出是
1 30 10
1 40 100
1 22 80
1 14 2
到目前为止,我想知道一个固定的 id 是否比损失更多。金额可以忽略。
在 RI 中可以使其运行但需要时间。假设我们有 100 个 id。在 RI 做过这个
w=c()
for(j in 1:100){
# Making it local for a fixed id
q=collect(filter(data, data$id==j))
# Checking the difference. 1 means wins and 0 means losses
if( as.numeric(q$amount_won) - as.numeric(q$amount_spent)>0 {
w[j]=1
}
else{w[j]=0}
}
现在 w 简单地给我所有 id 的 1 和 0。在 sparkR 中,我想以更快的方式做到这一点。