В SparkR у меня есть DataFrame data
, содержащий 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
Пока я хочу знать, выиграл ли фиксированный идентификатор больше, чем проиграл. Суммой можно пренебречь.
В R я могу заставить его работать, но это требует времени. Скажем, у нас есть 100 идентификаторов. В Р я сделал это
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 просто дает мне 1 и 0 для всех идентификаторов. В sparkR я хочу сделать это более быстрым способом.