본문 바로가기
데이터 분석/데이터 전처리

R로 데이터 열 추출

by BLOSSOMED_IN 2021. 2. 1.

1. 2차원 배열의 2차원 항목에 문자 백터로 추출

R로 열을 추출하는 방법은 다양합니다. data.frame 또는 dplyr 패키지를 이용하여 열을 추출할 수 있고, 열일 지정하는 방법도 다양한 패턴 중에서 선택할 수 있습니다. 하지만 이들을 사용한 코드 중 일부 작성법은 어느 열을 추출했는지 알기 어렵고, 원본 데이터에 새로운 열이 추가되면 추출할 데이터의 열이 어긋날 수 있기 때문에 data.frame은 행/열 번호를 숫자가 아닌 문자 백터로 지정합니다.

 

  • reserve_tb의 2차원 배열의 2차원 항목에 문자 백터로 추출할 열 이름을 지정한다.

: reserve_tb[, c('reserve_id', 'hotel_id', 'customer_id', 'reserve_datetime', 'checkin_date', 'checkin_time', 'checkout_date')] 

 

문자 백터로 추출할 열을 지정하면 숫자 백터로 추출할 때 문제점을 해결할 수 있습니다. 데이터에 새로운 열이 추가되거나 열의 순서가 변경되어도 이 코드의 동작은 달라지지 않습니다. 또한 지정한 열이 무엇인지 바로 알 수 있어서 가독성도 좋습니다.

 

2. dplyr 패키지를 이용하여 %>%를 이용하여 추출

 

  • select 함수의 매개 변수로 추출할 열 이름을 입력해서 열을 추출한다.

  • dplyr함수는 R의 data.frame으로 변환한다.

: select(reserve_id, hotel_id, customer_id, reserve_datetime, checkin_date, checkin_time, checkout_date) %>%

 

dplyr는 %>%로 출력을 다음 입력에 전달할 수 있습니다. 예를 들어 df %>% f1()은 f1 함수에 df를 입력한 f1(df)와 동일합니다. 마찬가지로 df %>% f1() %>% f2()는 f2(f1(df))와 같습니다. 이 %>%를 파이프 연산자라고 합니다. 복잡한 전처리도 파이프를 이용하면 간략하고 가독성 좋은 코드로 만들 수 있습니다. dplyr을 사용하지 않고 R로 전처리를 구현하기는 매우 어렵습니다.

dplyr의 select 함수의 매개변수에 추출할 열의 이름을 인수로 지정하여 데이터를 추출할 수 있습니다. 여러 열을 추출하려면 열 이름을 콤마로 연결합니다. dplyr로 처리할 경우 암묵적으로 dplyr의 data.frame형이 됩니다. R의 data.frame형과 호환돼서 기본적으로 문제가 없지만, R의 data.fram형으로 되돌리려면 as.data.frame 함수를 사용하여 되돌릴 수 있습니다.

 

 

 

 

댓글