遇到一个比较郁闷的问题:
数据有两列,第一列是客户id,第二列是购买状态.状态1表示付款成功,其他数字为各种其他状态.因为每个客户可能有不止一条的记录,有些付款成功,有些没有成功.现要求对每个客户分别计算付款成功的比例=付款成功条数/所有条数.写的下面的代码:
<br />
f <- function(df){<br />
total <- nrow(df)<br />
suc <- sum(df$V2 == 1)<br />
data.frame(rate = suc / total)<br />
}</p>
<p>d <- ddply(x, .(V1), f)<br />
跑了n久不出来,泪奔啊。。。因为数据一共90w+条,客户id有30w+条,想会不会是因为分组太多悲剧了。。求助各位大牛有没有其他方法来实现?多谢多谢了~~~
</p>