現在,我使用列爲字典映射籃球隊名贏率)。不知何故,在完成處理我所擁有的數據之後,鍵/值映射會被切換,以使值本身正確,但鍵不會映射到正確的值。有沒有可能導致這種情況發生的常見錯誤?R:列表鍵值映射切換
下面是一些我使用的代碼,其中的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" ...
因素的不當使用浮現在腦海。 – flodel 2012-02-24 22:38:21
我不認爲我在使用因素,除非它們在列表中以某種方式隱含?我基本上做的就是查找字典值並用一些簡單的算術更新它們。 – user1230611 2012-02-24 22:40:53
因爲stringsAsFactor = TRUE的默認設置,輸入數據時經常會彈出一些因子。因此,列中包含單個字符的數字數據最終會看起來像數字。同樣,默認值也可以與data.frame函數一起使用。 – 2012-02-24 22:44:16