R에서 데이터 정리를 수행하는 방법(예제 포함)


데이터 클리닝(Data Cleaning)은 원시 데이터를 분석이나 모델 구축에 적합한 데이터로 변환하는 과정을 의미합니다.

대부분의 경우 데이터 세트를 “정리”하려면 누락된 값과 중복 데이터를 처리해야 합니다.

R에서 데이터 세트를 “정리”하는 가장 일반적인 방법은 다음과 같습니다.

방법 1: 누락된 값이 있는 행 제거

 library (dplyr)

#remove rows with any missing values
df %>% na. omit ()

방법 2: 누락된 값을 다른 값으로 대체

 library (dplyr)
library (tidyr)

#replace missing values in each numeric column with median value of column
df %>% mutate(across(where(is. numeric ), ~replace_na(., median(., na. rm = TRUE ))))

방법 3: 중복 행 제거

 library (dplyr)

df %>% distinct(. keep_all = TRUE )

다음 예제에서는 다양한 농구 선수에 대한 정보가 포함된 R의 다음 데이터 프레임을 사용하여 실제로 이러한 각 메서드를 사용하는 방법을 보여줍니다.

 #create data frame
df <- data. frame (team=c('A', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I'),
                 points=c(4, 4, NA, 8, 6, 12, 14, 86, 13, 8),
                 rebounds=c(9, 9, 7, 6, 8, NA, 9, 14, 12, 11),
                 assists=c(2, 2, NA, 7, 6, 6, 9, 10, NA, 14))

#view data frame
df

   team points rebound assists
1 to 4 9 2
2 to 4 9 2
3 B NA 7 NA
4 C 8 6 7
5 D 6 8 6
6 E 12 NA 6
7 F 14 9 9
8 G 86 14 10
9:13:12 NA
10 I 8 11 14

예 1: 누락된 값이 있는 행 삭제

다음 구문을 사용하여 모든 열에서 누락된 값이 있는 행을 제거할 수 있습니다.

 library (dplyr)

#remove rows with missing values
new_df <- df %>% na. omit ()

#view new data frame
new_df

   team points rebound assists
1 to 4 9 2
2 to 4 9 2
4 C 8 6 7
5 D 6 8 6
7 F 14 9 9
8 G 86 14 10
10 I 8 11 14

새 데이터 프레임에는 누락된 값이 있는 행이 포함되어 있지 않습니다.

예시 2: 누락된 값을 다른 값으로 대체

다음 구문을 사용하여 누락된 값을 각 열의 중앙값으로 바꿀 수 있습니다.

 library (dplyr)
library (tidyr)

#replace missing values in each numeric column with median value of column
new_df <-df %>% mutate(across(where(is. numeric ),~replace_na(.,median(.,na. rm = TRUE )))) 

#view new data frame
new_df

   team points rebound assists
1 to 4 9 2.0
2 to 4 9 2.0
3 B 8 7 6.5
4 C 8 6 7.0
5 D 6 8 6.0
6 E 12 9 6.0
7 F 14 9 9.0
8 G 86 14 10.0
9:13 12 6.5
10 I 8 11 14.0

각 숫자 열의 누락된 값은 각각 해당 열의 중앙값으로 대체되었습니다.

수식의 중앙값을 평균 으로 대체하여 누락된 값을 각 열의 평균값으로 바꿀 수도 있습니다.

참고 : 이 예제에서는 drop_na() 함수가 해당 패키지에서 제공되기 때문에 Tidyr 패키지도 로드해야 했습니다.

예시 3: 중복 행 제거

다음 구문을 사용하여 누락된 값을 각 열의 중앙값으로 바꿀 수 있습니다.

 library (dplyr)

#remove duplicate rows
new_df <- df %>% distinct(. keep_all = TRUE )

#view new data frame
new_df

  team points rebound assists
1 to 4 9 2
2 B NA 7 NA
3 C 8 6 7
4 D 6 8 6
5 E 12 NA 6
6 F 14 9 9
7 G 86 14 10
8:13:12 NA
9 I 8 11 14

두 번째 행의 각 값이 첫 번째 행의 값과 중복되었기 때문에 두 번째 행이 데이터 프레임에서 제거되었습니다.

참고 : dplyr independent() 함수에 대한 전체 문서는 여기에서 찾을 수 있습니다.

추가 리소스

다음 튜토리얼에서는 R에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

R에서 데이터를 그룹화하고 요약하는 방법
R에서 요약 테이블을 만드는 방법
R에서 누락된 값이 있는 행을 삭제하는 방법

의견을 추가하다

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