1. 데이터 합치기

1) 열 기준 합치기

data1 <- data.frame(id = c(1:5), value1 = c(1, 3, 5, 7, 9))
data2 <- data.frame(id = c(1:5), value1 = c(1, 4, 7, 10, 13))
merge <- left_join(data1, data2, by='id')
merge

data1과 data2를 생성한 후, id 열을 기준으로 left_join() 함수를 사용하여 두 데이터 프레임을 합친다.

 

2) 행 기준 합치기

data1 <- data.frame(id = c(1:3), value1 = c(2, 5, 8))
data2 <- data.frame(id = c(5:7), value1 = c(3, 5, 7))
merge <- bind_rows(data1, data2)
merge

 

data1과 data2를 생성한 후, bind_rows() 함수를 사용하여 두 데이터 프레임을 합친다.

 

2. 결측치(Missing Value) 처리

결측치는 누락된 값을 의미하며, 실제로 데이터를 수집할 때 결측치가 포함된 경우가 종종 발생한다. 결측치가 있는 데이터를 그대로 사용하면 함수를 사용할 때 오류가 발생하거나 왜곡된 분석 결과가 나타나기도 한다. 그렇기 때문에 데이터 분석에 앞서 결측치가 있는지 확인하고 정제하는 과정도 중요하다.

 

data <- read.csv('data_mv.csv')
data

데이터를 확인했을 때 NA가 나타나면 결측치가 있음을 알 수 있다. 하지만, 문자로 구성된 데이터에서 NA라고 표기된 것은 결측치가 아닌 문자 "NA"를 의미한다.

 

table(is.na(data))

결측치의 개수를 확인하는 가장 단순한 방법이며, TRUE에 표시된 수만큼 결측치가 존재한다.

 

1) 결측치 제거

data %>% filter(!is.na(age))

함수 실행 전(좌) / 함수 실행 후(우)

age에 결측치가 있는 행을 제외한 데이터를 출력한다.

 

na.omit(data)

na.omit() 함수를 사용하면 특정 열을 지정하지 않고, 결측치가 하나라도 포함된 행을 제거할 수도 있다.

 

2) 평균으로 결측치 대체

data$period <- ifelse(is.na(data$period),
                      mean(data$period, na.rm = T),
                      data$period)

함수 실행 전(좌) / 함수 실행 후(우)

period의 결측치를 결측치를 제외한 나머지의 평균으로 채운다.

728x90
반응형

'Programming Language > R' 카테고리의 다른 글

[R] 회귀분석 - 변수선택  (0) 2021.02.16
[R] 가설검정, 상관분석  (0) 2021.02.15
[R] ggplot2  (0) 2021.01.29
[R] Data Frame 1  (0) 2021.01.15
[R] R Introduction  (0) 2021.01.08
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 라이프코리아트위터 공유하기
  • shared
  • 카카오스토리 공유하기