Bunun oldukça kolay bir soru olduğunu düşünüyorum, ancak yaşamın bir cevabı bulamıyorum. Oldukça standart bir veri çerçevem var ve yapmaya çalıştığım şey, bir değer sütununa (ya tam değere ya da bundan büyük) ulaşana kadar bir değer sütunu toplamıdır. tutun) ve toplamı 0 olarak yeniden başlatır.Maksimum ulaşılana kadar toplamı toplayın, sonra bir sonraki satırda sıfırdan tekrarlayın
Dakikalar arasında bir sütunum var; dakikalar, bir bekletme sütunu ve birikimli bir toplam sütunu arasındaki farklar (kullandığım örnek gerçek tam veri kümesinden çok daha temizdir)
minutes difference keep difference_sum
1052991158 0 0 0
1052991338 180 0 180
1052991518 180 0 360
1052991698 180 0 540
1052991878 180 0 720
1052992058 180 0 900
1052992238 180 0 1080
1052992418 180 0 1260
1052992598 180 0 1440
1052992778 180 0 1620
1052992958 180 0 1800
fark toplam sütun kodu
caribou.sub$difference_sum<-cumsum(difference)
hesaplandı
Ne yapmak isterim ki, toplanan değer 1470'e ulaştığında veya daha sonra herhangi bir sayı daha büyükse veya daha sonra herhangi bir sayıya ulaştığında yukarıdaki kodu çalıştırmanız gerekir. Veri kümesi.
Şimdiden teşekkürler, ve daha fazla bilgiye ihtiyacınız olursa lütfen bildirin.
Ayden
1470'e ulaşıldığında 'difference_sum' sıfırlandı mı? "Difference_sum" eşiği geçtiğinde dahil olmak üzere biraz daha uzun bir örnek kümesi yardımcı olacaktır. – alexwhan
Hayır, yapmaya çalıştığım şey şu, fark toplamı sütunu şu anda caribou.sub $ difference_sum <-cumsum (fark) koduyla hesaplanıyor. Sadece veri kümesinde ilerlemeye devam ediyor. – HeidelbergSlide
Tamam, ancak eşiği geçtikten sonra, bir sonraki eşiği hesaplamaya nasıl başlıyorsunuz? Fazlalığı 1470'in üzerinde kullanıyor musunuz yoksa bir sonraki satırdan 0'dan başlıyor musunuz? – alexwhan