【问题标题】:Is there a way to store a variable before it gets changed?有没有办法在变量被更改之前存储它?
【发布时间】:2020-05-01 10:44:08
【问题描述】:

我对 R 还很陌生,我的第一个大型项目是模拟本地 Quiz Bowl 锦标赛的季后赛。我得到了代码,这样它就可以运行任意数量的模拟,并且每次都打印出冠军。问题是,我无法想办法将过去的冠军存储在任何地方,因为我正在使用重复功能,所以每次 R 进行我的模拟时,都会在变量 Champion 下设置一个新的冠军。我会放一些代码,希望对您有所帮助。

Count <- 0
repeat {
Champion <-ifelse(Team37 > Team38 & Team37 > Team39,
                  Game13_T1,
                  ifelse(Team38 > Team39,
                         Game13_T2,
                         Game13_T3))
print(Champion)
Count = Count + 1
if (Count == 10000) {
    break
}
}

所以,我需要一些方法来存储我所有的冠军,因为我想跟踪并创造赢得冠军的概率等等。在重复之前以及在重复和我那里的下一行代码之间还有很多其他的胡言乱语,但我认为这应该给你们所有的要点。非常感谢您的帮助!

【问题讨论】:

  • 我想知道repeat 是否有必要。我们无法从您的不可重现的代码中分辨出来。
  • 这很可能不是完全没有必要的,但我在使用其他一些方法时遇到了困难。如果您有时间或愿意,我很乐意单独与您分享。

标签: r simulation


【解决方案1】:

我假设Champion 将是某个团队的名称,因此它将是字符类型。您可以在开头初始化一个向量来存储每个Champion

Count <- 0
all_champion <- character(10000)
#If it's a number use numeric
#all_champion <- numeric(10000)
repeat {
  Champion <- ifelse(Team37 > Team38 & Team37 > Team39, Game13_T1,
               ifelse(Team38 > Team39, Game13_T2, Game13_T3))
  Count = Count + 1
  all_champion[Count] <- Champion
 if (Count == 10000) {
     break
  }
}

【讨论】:

  • @benjanin76 如果它回答了您的问题,请考虑检查绿色复选标记以将其标记为解决方案
猜你喜欢
  • 2020-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-17
  • 1970-01-01
  • 2020-12-03
  • 1970-01-01
相关资源
最近更新 更多