我在R中有一个数据框,它有3个类别:Race,Horse,Predicted Rating。 Pred评级是线性回归模型的输出。我想使用类似下面的伪代码来对我的回归结果运行蒙特卡罗模拟:
for each race
sim = matrix(NA, nrow = 100,000, ncol = length(horses))
for each horse
sim[, j] = monteCarlo(predicted value)
for each row in sim
Results = which.max()
我认为我没有正确使用which.max(),但我可以阅读它并找出它的一部分。我主要关心的是如何实际循环我的数据。例如,如果一场比赛中有8匹马,那么该比赛将在我的数据框中有8行,因此对于每场比赛都没有意义。此外,种族只是一个字符值,而不是包含马匹列表的对象。那么我如何获得与我的种族相对应的马匹?这是一个数据示例:
答案 0 :(得分:0)
要回答有关如何实施for
循环的问题,这里有一种可能性
races <- unique( myData$Race)
horses <- unique(myData$Horse)
for(race in races){
sim = matrix(NA, nrow = 100,000, ncol = length(horses))
for(horse in horses)
sim[, j] = monteCarlo(predicted value)
}
for(i in seq(nrow(sim)))
Results = which.max()