现在,我使用列为字典映射篮球队名赢率)。不知何故,在完成处理我所拥有的数据之后,键/值映射会被切换,以使值本身正确,但键不会映射到正确的值。有没有可能导致这种情况发生的常见错误?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