데이터를 분석할 때 필요한 열만 선택해 분석하는 것은 매우 중요
column 추출 방법 3가지
- 인덱싱 사용 1: 열 순번 사용
- 인덱싱 사용 2: 열 이름 사용
- dplyr::select() 사용
00. 데이터 불러오기
- 데이터는 R 내장 데이터 셋인 "mtcars" 사용 : 1974 Motor Trend US Megazine에 수록된 차량과 차량에 관련된 수치들이 기록된 자료
mtcars %>% head()
mtcars %>% str()
01. Column 순번을 통한 열 추출
- 데이터셋[ , 열 순번]
- mpg, cyl 열 선택
# 밑에 두 가지 방법 동일한 데이터 셋 출력
mtcars[ , 1:2]
mtcars[ , c(1,2)]
02. 컬럼명을 사용해서 추출
- 데이터셋[ , "열이름1", "열이름2"]
- mpg, cyl 열 선택
mtcars[ , c("mpg","cyl")]
03. dplyr 패키지의 select() 함수 사용
- 특정 컬럼을 뽑고 싶을 때
# 인덱스 활용
mtcars %>% select(1:2)
# 컬럼명 활용
mtcars %>% select(mpg, cyl)
- 특정 컬럼을 제외하고 뽑고 싶을 때
# 인덱스 활용
mtcars %>% select(-c(1:2))
# 컬럼명 활용
mtcars %>% select(-c(mpg, cyl))
03-2. select 옵션
옵션 | 설명 |
starts_with(string) | 지정한 문자열로 시작하는 이름을 가진 컬럼 추출 |
ends_with(string) | 지정한 문자열로 끝나는 이름을 가진 컬럼 추출 |
contains(string) | 지정한 문자열을 포함하는 이름을 가진 컬럼 추출 |
matches(string) | 지정한 정규 표현식에 매칭되는 열 추출 |
1) starts_with(string)
- 알파벳 "d"로 시작하는 컬럼 추출
mtcars %>% select(starts_with("d"))
2) ends_with(string)
- 알파벳 "t"로 끝나는 컬럼 추출
mtcars %>% select(ends_with("t"))
3) contains(string)
- 알파벳 "a"를 포함하는 컬럼 추출
mtcars %>% select(contains("a"))
4) matches(string)
- 알파벳 "a" 또는 "p"를 포함하고 있는 컬럼 추출
mtcars %>% select(matches("[ap]"))
04. select_if ()
- 조건에 맞는 컬럼을 추출
iris$Species <- iris$Species %>% as.factor()
iris %>% str()
1) factor 변수만 뽑기
iris %>% select_if(is.factor)
2) numeric 변수만 뽑기
iris %>% select_if(is.numeric)
더보기
참고 서적
'R > dplyr' 카테고리의 다른 글
R | dplyr | 샘플 데이터 무작위 추출 - sample_frac(), sample_n() (0) | 2023.01.02 |
---|---|
R | dplyr | mutate, mutate_if , mutate_at - 새로운 변수 생성 및 처리 (1) | 2022.12.28 |
R | dplyr | 데이터 정렬(arrange) (0) | 2022.12.09 |
R | dplyr | 조건에 맞는 행 추출(filter) (0) | 2022.12.09 |
R | dplyr | 집계 데이터 만들기(group by, summarise) (0) | 2022.12.06 |