dplyr 패키지 = 해들리 위컴이 만든 데이터 처리 패키지
install.packages("dplyr")
library(dplyr)
조건에 맞는 데이터를 필터링하는 함수
filter(데이터, 조건문)
열, 즉 지정한 변수만 추출할 때 사용
select(데이터, 변수명1, 변수명2, ....)
데이터를 오름차순으로 정렬할 때 사용
arrange(데이터, 변수명1, 변수명2, ...)
arrange(데이터, 변수명1, 변수명2, ..., desc(변수명))
[ 오름차순 정렬 기준 ]
데이터 세트에 열을 추가할 때 사용
mutate(데이터, 추가할 변수 이름 = 조건1, ...)
중복 값 제거하는 함수
distinct(데이터, 변수명)
기술통계 함수와 함께 사용하여 데이터 요약을 확인할 때 사용
summarise(데이터, 요약할 변수명 = 기술통계 함수)
summarise(데이터, 기술통계 함수)
*summarise()함수 = summarize()
그룹별로 데이터를 요약할 때 사용
group_by(데이터, 변수명)
데이터를 지정한 조건에 따라 그룹으로 묶는 역할을 하므로 단독으로 쓰기보다는 주로 다른 함수와 함께 사용하는 경우가 많음
n()함수 = 데이터 개수를 구함
n_distinct()함수 = 특정 열의 중복 값을 제외하고 개수를 파악
smaple_n(데이터, 샘플 추출할 개수) = 전체 데이터에서 샘플 데이터를 개수 기준으로 추출
smaple_frac(데이터, 샘플 추출할 비율) = 전체 데이터에서 샘플 데이터를 비율 기준으로 추출
파이프 연산자는 이름 그대로 파이프, 연결하여 연산하는 연산자
데이터 세트 %>% 조건 또는 계산 %>% 데이터 세트
함수를 연달아 사용할 때 함수 결괏값을 변수로 저장하는 과정을 거치지 않아도 됨
select()함수 = 데이터 세트에 있는 변수 중 필요한 변수만을 추출
*변수명 앞에 간단하게 마이너스기호만 사용하면 해당 변수가 제외된 상태로 데이터 세트가 출력됨
filter()함수
조건문은 == 연산자를 사용하여 조건문 작성
2가지 조건은 & 연산자
arrange()함수 : 변수를 크기순으로 정렬하여 새로운 데이터를 만들거나 조회할 때
내림차순 desc()함수
중첩 정렬 = 변수 하나만 정렬하는 것이 아니라 여러 변수를 기준으로 중첩하여 정렬할 수 있음
정렬 기준으로 삼을 변수를 간단하게 쉼표로 나열하여 작성
2개 이상의 테이블을 결합하여 하나의 테이블로 만드는 과정
[ 결합 방식 ]
결합할 테이블에 있는 변수명을 기준으로 결합
각 테이블에 서로 다른 변수도 결합하는 테이블에 추가
bind_rows(테이블명, 테이블명)
세로 결합 방식에 비해 조금 복잡
가로 결합 방식 함수는 테이블 결합 기준이 되는 by = '변수명'에 사용할 변수가 필요
이러한 변수는 키변수 = 결합할 각 테이블에 있어야 하며 한쪽이라도 키 변수가 없으면 실행되지 않음
left_join()함수 : 지정한 변수와 테이블1을 기준으로 테이블2에 있는 나머지 변수들을 결합
inner_join()함수 : 테이블1과 테이블2에서 기준으로 지정한 변수 값이 동일할 때만 결합
full_join()함수 : 테이블1과 테이블2에서 기준으로 지정한 변수 값 전체를 결합
데이터 재구조화 : 동일한 데이터가 있더라도 목적에 따라 분석 기준이 달라지며, 그에 따라 데이터 구조를 변형해야 할 때가 있음
넓은 모양 데이터는 행보다 열이 많아 가로로 긴 모양의 행렬
행렬의 열을 행으로 바꾸어 세로로 길게 바꿀 때는 melt()함수 사용
melt() 함수 옵션 사용법
R스튜디오 Help 탭에서 [melt]를 입력하여 검색한 후 결과 목록에서 [reshape2::melt]를 클릭
- data : 변형할 데이터 세트를 입력
- na.rm = FALSE : 결측치를 제외하는 옵션
결측치를 포함하려면 na.rm = TRUE- value.name = "value" : 행으로 바꾸고 싶은 열 이름
melt(데이터, id.var = "기준 열", measure.vars = "변환 열")
행을 열로 바꾸는 함수로 melt()함수보다 복잡
cast() 함수 옵션 사용법
R스튜디오 Help 탭에서 [cast]를 입력하여 검색한 후 결과 목록에서 [reshape2::cast]를 클릭
- acast() : 데이터를 변형하여 벡터, 행렬, 배열 형태로 반환
- dcast() : 데이터를 변형하여 데이터 프레임 형태로 반환
acast(데이터, 기준 열 ~ 반환 열 ~ 분리 기준 열)
dcast(데이터, 기준 열 ~ 반환 열)
결측치 = 결측값 : 데이터가 없는 것을 의미 / NA or NULL로 표현
is.na(변수명) : 결측치를 확인하여 결괏값을 TRUE와 FALSE로 반환
table(is.na(변수명)) : 결측치 빈도
데이터에 결측치가 있다면 연산을 해도 결과가 NA로 나옴
결측치 제외하는 방법 na.rm = T 옵션 사용
sum(is.na(변수명)) : 데이터 세트에 결측치가 총 몇 개인지 확인
colSums(is.na(변수명)) : 각 컬럼의 결측치 개수를 확인
na.omit()함수로 결측치 제거
na.omit(변수명)
결측치는 제거할 수도 있지만, 다른 값으로 대체할 수 있음
변수명[is.na(변수명)] <- 대체할 값
이상치 = 극단치 : 데이터에서 정상적인 범주를 벗어난 값
boxplot = 데이터 분포에서 심하게 벗어난 이상치를 판단할 때 사용하는 그래프
boxplot(변수명)$stats
이상치는 분석 결과를 왜곡하기 때문에 정제 과정이 필요
ifelse(조건문, 조건이 참일 때 실행, 조건이 거짓일 때 실행)
이상치가 있을 때는 해당 값을 결측치로, 그렇지 않을 경우에는 원래의 값이 반환되도록 코드를 작성할 수 있음