微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在循环中存储和使用变量值?

如何解决如何在循环中存储和使用变量值?

我正在研究一个简化的大循环,以突出该问题。 在数据集“ 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 举报,一经查实,本站将立刻删除。