【发布时间】:2020-06-29 23:02:02
【问题描述】:
我有一个数据框,用于存储某人在本月的每笔交易中花费的金额。我正在尝试创建一个循环来检查重复的用户 ID,然后将他们总共花费的金额汇总并存储在他们出现的第一条记录中。它应该将他们在任何其他事件中花费的金额设置为 0。
当我停止运行时,我不断收到“错误:没有循环中断/下一个,跳转到顶层”:
# Number of trips
numTrips <- NROW(tripData)
# For each trip in data
for (i in 1:numTrips){
# For each trip after i
for (j in ((i+1): numTrips)){
# If the user ID's match, sum prices
if (tripData[i,]$user_id == tripData[j,]$user_id){
tripData[i,]$original_price <- tripData[i,]$original_price + tripData[j,]$original_price
tripData[j,]$original_price <- 0
}
}
}
有人可以帮忙吗?
【问题讨论】:
-
如果您包含一个简单的reproducible example,其中包含可用于测试和验证可能解决方案的示例输入和所需输出,则更容易为您提供帮助。有多少行?他们写这个的方式是二次缩放的,所以如果你有大量的行,它会花费很长时间。看起来使用
dplyrgroup_by和summarize会更容易
标签: r error-handling