R: список значений ключей переключен - PullRequest
0 голосов
/ 25 февраля 2012

Прямо сейчас я использую списки в качестве словарей, отображающих имена баскетбольных команд, чтобы выиграть ставки).Каким-то образом, после того, как я закончу обработку имеющихся у меня данных, сопоставления ключ / значение переключаются, так что сами значения являются правильными, но ключи не сопоставляются с их правильными значениями.Есть ли какая-либо распространенная ошибка, которая может вызвать это?

Вот часть кода, который я использую, где csv содержит информацию в именах (играх).

games <- read.csv(game_pathname, header = FALSE)
names(games) <- c("GameDate", "DateCount", "HomeID", "AwayID", "HomePts", "AwayPts", "HomeAbbr", "AwayAbbre", "HomeName", "AwayName")
wins <- list()

for (team in unique(games$HomeName)) {
    wins[[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
    }
}

>str(games)
'data.frame':   10303 obs. of  10 variables:
 $ GameDate : chr  "2008-11-10" "2008-11-10" "2008-11-11" "2008-11-11" ...
 $ DateCount: int  0 0 1 1 1 2 2 2 2 3 ...
 $ HomeID   : int  113 76 113 76 124 168 312 329 272 329 ...
 $ AwayID   : int  98 234 234 98 204 204 233 167 160 233 ...
 $ HomePts  : int  63 80 76 97 60 76 82 66 80 78 ...
 $ AwayPts  : int  65 49 57 54 73 56 58 70 73 68 ...
 $ HomeAbbr : chr  "ham" "dau" "ham" "dau" ... 
 $ AwayAbbre: chr  "gab" "paq" "paq" "gab" ...
 $ HomeName : chr  "Houston" "Duke" "Houston" "Duke" ...
 $ AwayName : chr  "Georgia Southern" "Presbyterian" "Presbyterian" "Georgia Southern" ...

1 Ответ

0 голосов
/ 25 февраля 2012

Используйте

str(yourbasketballdataset)

, чтобы проверить, есть ли какие-либо факторы в вашем наборе данных.Обязательно проверьте

?relevel
?levels
?as.factor

, когда попытаетесь немного узнать о факторах.Вы парень Python (я имею в виду, так как вы используете термин словарь)?Несмотря на то, что я не понимаю, почему вы используете списки (вероятно, data.frame будет достаточно), вы можете посмотреть на lapply для обработки списков.

Обратите внимание, что факторы не являются неявными в списке, но часто создаются, когда появляются данные, которые можно легко интерпретировать как категориальные данные - коэффициент - это просто термин R для категориального.Может быть, вы можете попытаться опубликовать воспроизводимый пример.Я знаю, что это определенная работа, но стоит того - особенно если вы новичок.И потому, что это баскетбол, у меня даже может быть внутренняя мотивация проверить это в воскресенье :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...