빅데이터

[BigData] 데이터 가공과 시각화

zs1397 2022. 10. 19. 17:14

 1. 데이터 가공(data processing): 데이터를 보다 효과적으로 분석하기 위해 데이터를 필요한 모양으로 가공하는 작업

  - base R을 이용해 샘플과 속성 추출

    a. 행에는 행번호 지정이 일반적 ex. gapminder[1:15, ]

    b. 조건을 이용한 내용 추출: ex. gapminder[gapminder$country == "Cro", c("lifeExp","pop")] -> 추출할 속성이 여러개일           경우 c 함수를 통해 묶을 수 있음

    c. 행/열 단위 연산: apply(x,MARGIN, FUN, optional arguments to FUN) 행 또는 열별 함수적용, Margin값 1 = 행, 2 =열

 2. dplyr(디플라이어)를 이용한 데이터 가공

  - 인덱스 기반 데이터 접근에 기초한다면 입출력 관계함수(select, filter) 함수로 사용가능

  - select 함수: 열 추출(""없이 이름 그대로 사용가능해 편리함)

  - filter 함수: 특정 샘플을 추출하는데 사용(조건에 따라 행 추출)

  - group_by함수: factor형 속성 활용해 전체 데이터를 그룹화 가능+ summarise함수를 연달아 사용해 통계까지 산출

  - %>% 연산자: 일련 가공 작업을 연결해 유용하게 쓰임


  1, 데이터 시각화

   - Base R

      ① plot 함수: 가장 일반적인 그래프(점, 직선 등)

데이터와 plot함수 이용한 기본 점그래프

    ② pie - barplot 함수

. -★ggplot 2: 시각화 객체 생성역할, 내부에 aes이용해 지정

    ① ggplot2 라이브러리 함수는 3가지 요소로 구성된 기본 표현식을 따름

gglot(gapminder, aes(x=gdpPercap, y=lifeExp, col=continent))+geom_point(alpha=0.2)

     ② geom_histogram 함수

 gapminder $>$ filter(year == 2007) %>% ggplot(aes(lifeExp, col=continent))+
 geom_histogram()

      ③ geom_boxplot 함수: 여러 항목의 분포를 한번에 관찰, 이상값 파악 유리

gapminder %>% filter(year==2007)%>%ggplot(aes(continent, lifeExp, col=continent))+
geom_boxplot()

     ④ scale_x_log10 - scale_y_log10 함수: 데이터에 직접 로그를 취하지않고 동일 효과를 얻을 수 있음

ggplot(gapminder, aes(x=gdpPercap, y=lifeExp, col=continent))+geom_point(alpha=0.2)
ggplot(gapminder, aes(x=gdpPercap, y=lifeExp, col=continent))+geom_point(alpha=0,2)+scale_x_log10()

     ⑤ coord_flip 함수: 플롯의 방향을 전환

gapminder %>% filter(continent=="Africa") %>% ggplot(aes(country,lifeExp))+geom_bar(stat="identity")
gapminder %>% filter(continent=="Africa") %>% ggplot(aes(country,lifeExp))+geom_bar(stat="identity")+
coord_flip()

2. 시각화를 이용한 데이터 탐색

 예제: gapminder 데이터의 시각적 탐구(세계 여러 나라의 경제 및 복지 수준과 이의 변화)

gapminder%>%ggplot(aes(gdpPercap, lifeExp, col=continent))+geom_point(alpha=0.2)+
factet_wrap(~year)+scale_x_log10()
##facet_wrap(): ~변수별 level 순서대로 sub그래프 그려줌

 

 

'빅데이터' 카테고리의 다른 글

[BigData]파일 읽고 쓰기와 데이터 정제  (0) 2022.10.19
[BigData] 데이터 구조 R(기초)  (0) 2022.10.19