Dplyr에서 na를 0으로 바꾸는 방법


R의 dplyr 패키지를 사용하여 데이터 프레임에서 모든 NA 값을 0으로 바꾸려면 다음 구문을 사용할 수 있습니다.

 #replace all NA values with zero
df <- df %>% replace(is. na (.), 0)

다음 구문을 사용하여 데이터 프레임의 특정 열에서 NA 값을 바꿀 수 있습니다.

 #replace NA values with zero in column named col1
df <- df %>% mutate(col1 = ifelse(is. na (col1), 0, col1))

그리고 다음 구문을 사용하여 데이터 프레임의 여러 열 중 하나에서 NA 값을 바꿀 수 있습니다.

 #replace NA values with zero in columns col1 and col2
df <- df %>% mutate(col1 = ifelse(is. na (col1), 0, col1),
                    col2 = ifelse(is. na (col2), 0, col2))

다음 예에서는 다음 데이터 블록에서 이러한 기능을 실제로 사용하는 방법을 보여줍니다.

 #create data frame
df <- data. frame (player=c('A', 'B', 'C', 'D', 'E'),
                 pts=c(17, 12, NA, 9, 25),
                 rebs=c(3, 3, NA, NA, 8),
                 blocks=c(1, 1, 2, 4, NA))

#view data frame
df

  player pts rebs blocks
1 to 17 3 1
2 B 12 3 1
3 C NA NA 2
4 D 9 NA 4
5 E 25 8 NA

예시 1: 모든 열의 모든 NA 값 바꾸기

다음 코드는 데이터 프레임의 모든 열에 있는 모든 NA 값을 바꾸는 방법을 보여줍니다.

 library (dplyr)

#replace all NA values with zero
df <- df %>% replace(is. na (.), 0)

#view data frame
df

  player pts rebs blocks
1 to 17 3 1
2 B 12 3 1
3 C 0 0 2
4 D 9 0 4
5 E 25 8 0

예시 2: 특정 열의 NA 값 바꾸기

다음 코드는 데이터 프레임의 특정 열에서 NA 값을 바꾸는 방법을 보여줍니다.

 library (dplyr)

#replace NA values with zero in rebs column only
df <- df %>% mutate(rebs = ifelse(is. na (rebs), 0, rebs))

#view data frame
df

  player pts rebs blocks
1 to 17 3 1
2 B 12 3 1
3 C NA 0 2
4 D 9 0 4
5 E 25 8 NA

예시 3: 여러 열 중 하나의 NA 값 바꾸기

다음 코드는 데이터 프레임의 여러 열 중 하나에서 NA 값을 바꾸는 방법을 보여줍니다.

 library (dplyr)

#replace NA values with zero in rebs and pts columns
df <- df %>% mutate(rebs = ifelse(is. na (rebs), 0, rebs),
                    pts = ifelse(is. na (pts), 0, pts))

#view data frame
df

  player pts rebs blocks
1 to 17 3 1
2 B 12 3 1
3 C 0 0 2
4 D 9 0 4
5 E 25 8 NA

추가 리소스

dplyr을 사용하여 특정 문자열이 포함된 행을 필터링하는 방법
dplyr을 사용하여 상대 빈도를 계산하는 방법
dplyr을 사용하여 그룹별로 첫 번째 행을 선택하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다