RLab01 

    # dplyr은 데이터를 다루는 7가지 동작 함수
    # 1)열방향 : 선택 -select()
    # 2)열방향 : 계산 -mutate()
    # 3)행방향 : 조건 -filter()
    # 4)행방향 : 추가 -bind_rows()
    # 5)행방향 : 정렬 -arrange()
    # 6)그룹계산 - group_by() + summarise()
    # 7)열결합 : left_join()
    
    
    install.packages("nycflights13")
    library(nycflights13)
    library(dplyr)
    flights
    
    # 열방향 : 선택 -select()
    # 데이터에서 컬럼을 선택해서 사용함.
    # select()는 선언된 순서대로 컬럼을 정렬함.
    select(flights, year, month, day)
    
    # 열방향 : 계산 -mutate()
    # 출력 편의를 일부 데이터만 사용
    flights_sml <- select(flights, year:day, ends_with("delay"),
                          distance, air_time)
    flights_sml
    
    # 각 컬럼간의 계산으로 새로운 열을 만들수 있다.
    flights_sml <- mutate(flights_sml, 
           gain = arr_delay - dep_delay,
           speed = distance / air_time * 60)
    
    # 행방향 : 조건 -filter()
    filter(flights, month == 1)
    
    # 행방향 : 정렬 -arrange()
    # 지정되는 컬럼 순으로 오름차순 정렬해주는 함수
    arrange(flights, dep_delay)
    
    # 그룹계산 - group_by() + summarise()
    # summarise() : 여러 데이터를 요약해서 특성을 파악하는 
    # 방식으로 동작하는 함수들을 적용할때 사용. sum mean 등
    summarise(flights, mean = mean(dep_delay, na.rm = T), 
              n = n())
    # na.rm = T : 결측값(NA)을 분석시 미포함.
    
    # group_by() : 데이터에 지정한 컬럼별이라는 추가 조건을 지정하는
    # 기능을 수행.
    flights_g <- group_by(flights, month)
    flights
    
    summarise(flights_g, mean = mean(dep_delay, na.rm = T), n = n())
    
    # 열 결합(join) - left_join()
    flights2 <- select(flights, year:day, hour, origin, dest, 
                       tailnum, carrier)
    flights2
    
    # left_join() : 왼쪽 데이터를 기준으로 하고, by로 지정된 컬럼이 
    # key로 지정하여 오른쪽 데이터를 왼쪽 데이터에 결합하는 함수
    flights_join <- left_join(flights2, airlines, by = "carrier")
    flights_join

     

    RLab02

    보스톤하우징 데이터셋을 분석해본다.

    # 보스톤하우징 데이터셋을 분석해본다.
    
    # 데이터 수집
    # bostonHousing 데이터셋을 활용하기 위해서 
    # mlbench패키지를 인스톨한다.
    install.packages("mlbench")
    library(mlbench)
    data("BostonHousing")
    
    # 5개 변수만 추출해서 따로 데이터셋을 만들다.
    myds <- BostonHousing[,c("crim","rm","dis","tax","medv")]
    myds
    head(myds)
    dim(myds)
    
    grp <- c()
    # grp변수에다가 medv(주택가격) 상,중,하 분류한 내용을 저장
    # 506번 루핑하면서 해당 값을 grp에 저장함.
    for(i in 1:nrow(myds)){
      
      if(myds$medv[i] >= 25){
        grp[i] <- "H"
      }else if(myds$medv[i] < 25.0 & myds$medv[i] > 17.0){
        grp[i] <- "M"
      }else{
        grp[i] <- "L"
      }
    }
    
    # 팩터값 조정
    grp <- factor(grp)
    grp
    grp <- factor(grp, levels = c("H","M","L"))
    grp
    
    # 기존의 myds라는 데이터프레임에 grp 팩터를 추가
    myds <- data.frame(myds, grp)
    myds
    
    str(myds)
    
    # 그룹별 주택의 빈도수
    table(myds$grp)
    
    # 여기까지 데이터 수집이 끝남.
    
    # 분석과정 시작
    # 1. 히스토그램 차트 작성
    par(mfrow=c(2,3)) #2*3가상화면 분할
    for(i in 1:5){
      hist(myds[,i],
           main = colnames(myds)[i],
           col = "yellow")
    }
    par(mfrow=c(1,1)) #가상화면 원복
    
    # 2. 박스상자
    par(mfrow=c(2,3)) #2*3가상화면 분할
    
    for(i in 1:5){
      boxplot(myds[,i],
              main = colnames(myds)[i])
    }
    par(mfrow=c(1,1)) #가상화면 원복
    
    # 3. 그룹별 관측값 분포표 (범위)
    boxplot(myds$crim~myds$grp,
            main = "1인당 범죄율")
    
    boxplot(myds$rm~myds$grp,
            main = "방의 개수")
    
    # 4. 다중 산점도를 통한 변수들간 상관관계
    pairs(myds[,-6])  #grp열 제외하고 나타내라라
    
    # 점의 색을 지정
    color <- c("red","green","blue")
    
    # 점의 모양을 지정
    point <- as.integer(myds$grp)
    
    pairs(myds[,-6], pch=point,
          col=color[point])
    
    # 5. 변수간의 상관계수를 확인
    cor(myds[,-6])
    

     

    https://coupa.ng/bN0TDJ

    (정보문화사)빅데이터 분석을 위한 R 프로그래밍

    COUPANG

    www.coupang.com

    파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음

    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기
    loading