Я пытаюсь использовать списки в R в качестве словарей для вычисления процента выигрыша для баскетбольных команд. По сути, для каждого выигрыша я хотел бы увеличивать соответствующую сумму словаря, а для каждой игры я хотел бы увеличивать соответствующую сумму словаря. Почему-то ответы, которые я получаю, кажутся разумными, но они неверны, и я не могу понять, почему программа не дает ожидаемых результатов. Любые предложения или советы будут оценены. Код, который я использую ниже:
games <- read.csv(game_pathname, header = FALSE)
names(games) <- c("GameDate", "DateCount", "HomeID", "AwayID", "HomePts", "AwayPts", "HomeAbbr", "AwayAbbre", "HomeName", "AwayName")
wins = list()
total = list()
for (team in unique(games$HomeName)) {
wins[team] <- 0
total[team] <- 0
}
for (i in 1:nrow(games)) {
if (games$HomePts[i] > games$AwayPts[i]) {
wins[games$HomeName[i]] <- wins[[games$HomeName[i]]] + 1
} else {
wins[games$AwayName[i]] <- wins[[games$AwayName[i]]] + 1
}
total[games$HomeName[i]] <- total[[games$HomeName[i]]] + 1
total[games$AwayName[i]] <- total[[games$AwayName[i]]] + 1
}
for (team in unique(games$HomeName)) {
print(paste(team, wins[[team]] / total[[team]]))
}