如何解决如何在循环中存储和使用变量值?
我正在研究一个简化的大循环,以突出该问题。 在数据集“ DFloopSub”中,对于我正在研究的每只动物(“ IDTruie”),我都有几行。
目标是为每行计算2个新变量(“ QuantiteModif”和“ Reste”),知道“ QuantiteModif”(在“ l”行)需要考虑上一行的“ Reste”值(l-1)。 循环无法正常工作:“ Reste”列正确,但“ QuantiteModif”列未考虑“ Reste”(ifelse语句中的“ a”),而是仅取值“ 0”。您能帮我找出为什么它不起作用吗?
for(i in unique(DFloopSub[,"IDTruie"])) {
a <- 6 # define the inital value for "Reste"
DFloopSub$line <- 1:nrow(DFloopSub) # include line number
for (l in unique(DFloopSub[,"line"])){
DFloopSub$QuantiteModif <- ifelse(DFloopSub$JourEntree == DFloopSub$JourSortie,DFloopSub$Quantite,a) # need to use "Reste" at (l-1)
DFloopSub$Reste <- ifelse(DFloopSub$JourEntree == DFloopSub$JourSortie,DFloopSub$Quantite - DFloopSub$QuantiteModif)
a <- DFloopSub$Reste[l]
#print(a)
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。