지금 당장 나는 농구 팀 이름을 사전에 등록하여 요금을 얻는 목록을 사용하고 있습니다. 어떻게 든 데이터를 처리하고 나면 키/값 매핑이 전환되므로 값 자체는 정확하지만 키는 올바른 값으로 매핑되지 않습니다. 이 일이 발생할 수있는 일반적인 실수가 있습니까?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
목록에 내재되어 있지 않은 한 요소를 사용하고 있다고 생각하지 않습니다. 기본적으로 사전 값을 찾고 간단한 산술로 업데이트하는 것뿐입니다. – user1230611
stringsAsFactor = TRUE의 기본 설정으로 인해 데이터를 입력 할 때 요인이 자주 팝업됩니다. 따라서 열에 하나의 문자가있는 숫자 데이터는 숫자처럼 보이는 요소로 끝납니다. 마찬가지로 default는 data.frame 함수와 함께 작동합니다. –