본문 바로가기

카테고리 없음

4일차 - 4월 14일

dplyr 패키지는 처리속도가 느린 기존의 plyr패키지를 C++언어로 개선하여 사용자 친화적으로 만든 패키지임. 

 

 

filter(데이터, 조건문)--->조건에 맞는 데이터를 필터링 하는 함수 (행을 추출함)

 

(&연산자를 사용하면 조건을 더 많이 지정할 수 있음) 

 

select(데이터, 변수명1, 변수명2,...)--->지정한 변수만 추출할 때 사용 (열을 추출함)

 

mutate(데이터, 추가할 변수 이름 = 조건1, ...)--->데이터세트에 열을 추가할 때 사용함 (새로운 열 추가)

 

arrange(데이터, 변수명1, 변수명2,..., desc(변수명))

 

desc는 내림차순 정렬로 아무것도 쓰지 않으면 오름차순으로 정렬된다. 

rank함수 사용시 동일한 값이 있으면 소수점으로 바뀐다.

distinct(데이터, 변수명) 중복값을 제거할 때 사용.

summarise(데이터, 요악할 변수명(열 이름) = 기술통계 함수) 데이터 전체 요약

group_by(데이터, 변수명) ----> 그룹별로 데이터를 요약할 때 사용

 

 

data개수를 구할 때는 n()함수를 사용하고

특정 열의 중복값을 제외하고 개수를 파악하려면 n_distinct()함수를 사용함.

 

n()함수와 n_distinct()함수는 단독으로 사용할 수 없고 summarise()함수, mutate()함수, filter()함수에서만 사용가능!!

 

패키지명과 라이브러리 명 명시하는 것이 좋음 

sample_()함수는 전체데이터에서 샘플데이터를 랜덤으로 추출함. 

 

 

sample_n(데이터, 샘플 추출할 개수)

sample_frac(데이터, 샘플 추출할 비율)

 

 

 

파이프 연산자는 %>% (단축키-shift+Ctrl+M)

 

-----> dplyr패키지 설치했을 때만 사용 가능함. 

 

연산자를 사용하면 함수를 연달아 사용할 때 함수 결과값을 변수로 저장하는 과정을 거치지 않아도 됨. 

 

 



데이터전처리, 데이터핸들링, 데이터 마트 작업->데이터 가공작업을 뜻함

 

제외하고자 하는 변수명 앞에 간단하게 마이너스(-) 기호만 사용하면 해당 변수가 제외된 상태로 데이터 세트가 출력됨. 

 

bind_rows(테이블명, 테이블명)-----> 세로결합



left_join은 left에 쓰여진 테이블을 기준으로 두번째 테이블과의 공통값이 하나로 포괄되면서 결합이 된다. 

 

left_join(테이블1, 테이블2, by = "변수명")


inner_join은 키 변수가 동일한 것만 결합이 된다.

 

inner_join(테이블1, 테이블2, by = "변수명")

melt(전체데이터, id.var = "기준 키변수" ,measure.vars = "변환 열")

------>>기준이되는 것말고 다른 변수들이 열에서 행으로 바뀜.

 

cast()함수는 행이 긴 형태의 데이터를 열이 긴 형태로 바꿈

 

acast(데이터, 기준 열 ~ 변환 열 ~ 분리 기준 열) : 데이터를 변형하여 벡터, 행렬, 배열 형태로 반환함.

dcast(데이터, 기준 열 (+ 기준 열) ~ 반환 열) : 데이터를 변형하여 데이터 프레임 형태로 반환함. 

 

변환식은 id ~ variable 형태로 작성. 

 

airquality데이터프레임명칭 

names(airquality)<- tolower(names(airquality))

 

------> names로 변수명만 꺼내서 tolower함수로 소문자로 바꾸라는 뜻 그결과값을 데이터프레임의 컬럼명으로 세팅하라는 뜻


전체데이터프레임으로부터 기준컬럼 month와 wind를 기준으로 ozone값을 행배치 시킴.

melt(airquality, id.vars = c("month","wind"), measure.vars = "ozone")



기준이 되는 애들은 바뀌지 않음 ozone값이 행처럼 가로로 배치되는 걸 볼 수 있음.



is.na()  ---------> 결측치 확인하는 함수
 table(is.na(변수명))  ------------> 결측치 빈도를 확인. 결측치가 몇 개있는지..

 

na.rm =T옵션은 결측치를 제외하는 방법

 

----> 결측치가 너무 많을 때 다 제거하면 결과에 영향이 가므로 아예 제거하는 것보단 결측치를 제외시키고 나머지 계산할 때 사용함.

 

 

 

sum(is.na(변수명)) ----> 데이터세트에 결측치가 총 몇개인지 확인할 수 있음.

 

colSums(is.na(변수명)) -----> 각 컬럼의 결측치 개수를 확인할 수 있음.

 

na.omit(변수명) ----> 결측치가 있는 행 전체를 데이터 세트에서 제거한 후 데이터를 출력함. 

 

변수명[is.na(변수명)] <- 대체할 값

 

 

 

이상치확인하려면 boxplot()함수를 사용하면 쉽게 확인할 수 있습니다. '

 

 

ifelse(조건문, 조건이 참일 때 실행, 조건이 거짓일 때 실행)

 


막대그래프는 x축만 넣어도 실행이 됨. 

 

 

 

 

ggplot()함수로 산점도, 선 그래프, 막대 그래프, 상자 그림, 히스토그램 등 다양한 시각화를 할 수 있음.

 

ggplot(데이터 세트, aes(데이터 속성)) 

 

 

geom_point() 함수는 ggplot()함수 사용 후 + 를 이용하여 추가하여서 산점도를 그릴 수 있음. 

size 와 color도 설정 가능. 

 

geom_line()함수는 선그래프를 그리는 함수이고 geom_histogram()함수는 히스토그램을 만드는 함수이고 geom_bar()함수는 막대 그래프를 그리는 함수이다. 

 

geom_boxplot()함수는 상자그림을 그릴 수 있음. 대신 aes()함수에 상자로 그룹지을 열을 설정해야함.

 

~별로 다른 변수들을 확인하려면 group 옵션을 사용하여 설정함.

 

 

 

누적막대그래프를 그리려면 ggplot()함수에 + geom_bar를 추가하여서  aes(fill = factor(변수)) 를 쓰면 범주별 빈도가 막대 그래프에  색상으로 채워짐.

 

누적막대그래프에 coord_polar()함수 하나만 추가하면 계층 구조의 데이터를 수준별로 비율을 표시하는 그래프인 

선버스트 차트로 변환됨.

coord_polar()함수에 theta="y" 옵션을 추가하면 가운데가 도넛처럼 비어있는 선버스트 차트가 그려짐.

 

 

geom_abline(intercept = 절편, slope =  기울기 )------>사선을 그리는 함수

 

geom_hline(yintercept = y절편) --------->평행선 그리기

 

geom_vline(xintercept = x절편) ---------->수직선 그리기

 

geom_text(aes(label = 레이블, vjust = 세로 위치, hjust = 가로 위치)) ---------> 레이블 입력하기 

 

vjust는 x좌표, hjust는 y좌표

 

annotate("모양", xmin = x축 시작, xmax = x축 끝, ymin = y축 시작, ymax = y축 끝) ------> 그래프 위에 사각형이나 화살표 등으로 특정 영역을 강조할 떄 사용.

 

"모양" 부분에 segment를 입력하면 선을 의미하는 옵션을 추가하는 것이고  arrow=arrow()를 옵션으로 추가하면 화살표를 의미함.