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 함수를 사용하여 되돌릴 수 있습니다.
'데이터 분석 > 데이터 전처리' 카테고리의 다른 글
R, 집약 ID에 기반한 샘플링 (0) | 2021.02.02 |
---|---|
R, 데이터 값을 고려하지 않는 샘플링 (0) | 2021.02.02 |
R전처리 - 조건에 따른 데이터 행추출 (0) | 2021.02.02 |
R로 데이터 읽기 (0) | 2021.02.01 |
전처리 - Tidyverse (0) | 2021.01.13 |
댓글