내 데이터 프레임에는 9 개의 열과 3198 개의 행이 있습니다. 열 중 하나에서 'NA'가 82 행마다 반복됩니다. 누락 된 값을 동일한 데이터 프레임의 다른 열의 값으로 대체하려고합니다. 작은 데이터 세트로 설명해 드리겠습니다.붙여 넣기()를 사용하여 NA 바꾸기 R
df <- data.frame(a = LETTERS[1:6], b = rep(seq(1:3), 2))
df$b[1] <- 'NA'
df$b[4] <- 'NA'
> df
a b
1 A NA
2 B 2
3 C 3
4 D NA
5 E 2
6 F 3
for (i in 1: nrow(df)){
if ('NA' %in% df$b[i]){
df$b[i] <- paste("box", df$a[i])
}
}
> df
a b
1 A box A
2 B 2
3 C 3
4 D box D
5 E 2
6 F 3
코드는이 작은 데이터 세트에서 작동합니다. 난 정확히 내 큰 데이터 세트에서 동일한 일을하고 있지만 어떤 이유로 누락 값은 여전히 대체되지 않습니다. 무슨 일이 벌어 질지 몰라? 여기 예제 데이터 세트에서 코드가 작동한다고해서 이상한 질문 일 수 있습니다. 검토를 위해 실제 데이터 세트를 게시 할 수 없습니다. 다음 내용이 도움이 될 수 있습니다.
> str(dataset)
'data.frame': 3198 obs. of 8 variables:
$ Local Identifier : chr "NEZ0100" "NEZ0100-1" "NEZ0100-2" "NEZ0100-3" ...
$ Local System : chr "Freezerworks" "Freezerworks" "Freezerworks" "Freezerworks" ...
$ Parent ID : chr "NEZ0100" "NEZ0100" "NEZ0100" "NEZ0100" ...
$ Storage Type : chr "Box-9X9" "BoxPos" "BoxPos" "BoxPos" ...
$ Storage Label : chr NA "A1" "A2" "A3" ...
$ Capacity : int 81 1 1 1 1 1 1 1 1 1 ...
$ Movable : chr "Y" "N" "N" "N" ...
$ Storage Unit Order Number: int 0 1 2 3 4 5 6 7 8 9 ...
이 문제는 $ Storage Label에서 발생합니다. 추가 정보가 필요한 경우 알려 주시기 바랍니다. 감사.
단순히 완벽합니다. 고마워. – sedeh