728x90
ggplot2
* 데이터를 그래프로 시각화 해주는 패키지
* mpg 데이터(1999-2008년 자동차 모델들의 연비에 관련된 데이터셋)를 갖고 있어 실습용으로 사용할 수 있음
(mpg <- as.data.frame(ggplot2::mpg)로 데이터 프레임 생성)
함수 | 설명 | 예시 |
< ggplot( ) > | ||
aes(x= , y= ) | 그래프의 xy축 변수를 지정 | x = reoder(x축 변수명, -정렬기준) * 정렬 기준 변수 앞에 -를 붙히면 내림차순 정렬로 바뀜 ggplot(data = df_mpg, aes(x=reorder(drv, -mean_hwy), y=mean_hwy)) + geom_col() |
reorder( , ) | 주로 막대 그래프(geom_col())와 사용되며, 막대를 값의 크기 순으로 정렬할 수 있음 디폴트 우선순위는 숫자>문자, 오름차순 정렬임 |
|
xlim( , ) | xy축의 범위를 지정할 수 있음 |
ggplot(data= mpg, aes(x=displ, y=hwy)) + geom_point( ) + xlim(3, 6) + ylim(10, 30) |
ylim( , ) | ||
geom_point( ) | 산점도 데이터를 xy축에 점으로 표현 |
- |
geom_col( ) | 평균 막대 그래프 집단별 평균표로 구성된 데이터프레임이 필요하기 때문에 group_by()와 summarise()로 데이터프레임을 먼저 구성 |
- |
geom_bar( ) | 빈도 막대 그래프 변수의 빈도를 막대의 길이로 표현 y축 없이 x축만 지정 |
ggplot(data = mpg, aes(x=drv)) + geom_bar( ) |
geom_line( ) | 선 그래프 시계열 데이터를 그래프로 만들 때 사용 |
- |
geom_boxplot() | 상자 그림으로 데이터 표현 [boxplot 설명 바로가기] |
- |
< qplot( ) > | ||
qplot( ) | 데이터프레임 변수의 빈도를 plot창에서 막대 그래프 형태로 볼 수 있음 * 기능은 많지 않지만 간단해 데이터 전처리 시 데이터를 빠르게 확인해 보는 용도로 사용 |
qplot(데이터프레임명$변수) |
dplyr
* 데이터 프레임에 있는 데이터를 가공(데이터 전처리)할 때 사용하는 패키지
* 데이터를 가공할 때는 원본보다는 복사본을 만들어 사용하는 것을 권장
%>% 를 이용해 함수를 나열하는 방식으로 코드 작성
함수 | 설명 | 예시 |
< 변수 수정 > | ||
rename( ) | 데이터 프레임의 변수이름을 바꾼다 변수를 여러개 바꾸고 싶을 때는 바꿀 변수를 콤마(,)로 여러개 나열함 |
rename(데이터 프레임명, 새 변수명 = 기존 변수명) df_copy <- rename(df_copy, var_new = var_opigin) |
< 데이터 추출 > | ||
filter( ) | 행 추출 * ==, !=, >, <, >=, <= 를 이용해 조건에 해당하는 데이터만 추출 * &(and)나 |(or)로 한 줄로 조건을 여러개 줄 수 있음 * |(or)로 조건을 나열하다 보면 코드 가독성이 떨어 질 수 있다. 이때 %in%와 c()를 이용하면 코드를 줄일 수있음 |
filtered_df %>% filter(변수 == 조건) filtered_df %>% filter(class == 1) filtered_df %>%filter(class == 1 | class ==3) filtered_df %>%filter(class %in% c(1, 3)) |
select( ) | 변수들 중 일부 변수만 추출 쉼표(,)로 변수명을 나열 해 여러 변수를 동시에 추출 가능 특정 변수를 뺴고자 할 때 -를 사용 |
select(추출할 변수) df_student %>% select(gpa) df_student %>% select(-name) |
< 데이터 정렬 > | ||
arrange( ) | 데이털르 원하는 순서로 정렬 할 때 사용 디폴트 세팅은 '오름차순 정렬'이고, '내림차순 정렬' 을 원할 떄는 decs( ) 에 변수를 넣는다 변수를 코마(,)로 여러개 넣을 수 있으며 넣은 순서대로 우선순위가 부여된다. |
df_student %>% arrange(gpa) df_student %>% arrange(desc(name)) df_student %>% arrange(gpa) |
< 파생변수 추가 > | ||
mutate( ) | 기존 데이터에 파생변수를 추가 ifesle문과 함께 사용할 수 있음 |
df_exam %>% mutate( total = python + c ) ##total이 파생 변수명 df_exam %>% mutate(test = ifelse(science >= 60, "pass", "fail")) |
< 데이터 요약하기 > | ||
summarise( ) |
group_by와 함께 사용 되며, 집단별 요약표를 만듬 | df_exam %>% group_by(class) %>% summarise(mean_math = mean(math)) |
group_by( ) | 집단별로 나누기 콤마(,)로 집단을 나열하면 집단을 나눈 후 다시 하위 집단으로 나눌 수 있음 |
|
< summarise()에서 사용되는 요약 통계량 함수 > | ||
mean( ) | 평균 | |
sd( ) | 표준편차 | |
sum( ) | 합계 | |
median( ) | 중앙값 | |
max( ) | 최댓값 | |
min( ) | 최솟값 | |
n( ) | 빈도 | |
< 데이터 합치기 > | ||
left_join( ) | 데이터를 가로로(열로) 합치기 | df_join <- left_join(df_ex1, df_ex2, by="id") ## 데이터프레임 df_ex1과 df_ex2를 id 기준으로 합친다. |
bind_rows( ) | 데이터를 세로로(행으로) 합치기 | df_join <-bind_rows(df_ex1, df_ex2) |
by | 데이터를 합치는 기준을 변수로 입력 |
728x90
'# Programming Language > R' 카테고리의 다른 글
[Data Analysis] R 기본_패키지/외부파일/데이터프레임/함수 (0) | 2021.02.22 |
---|---|
[Data Analysis] R 이상치 정제_이상치/극단치/boxplot (0) | 2021.02.18 |
[Data Analysis] R 스튜디오 UI구성 / 환경설정 (0) | 2021.02.11 |
[Data Analysis] RStudio 설치 (0) | 2021.02.03 |
[Data Analysis] R 설치 (0) | 2021.02.03 |