상세 컨텐츠

본문 제목

[개미의 걸음 ADsP 3과목] R③ R패키지 종류(sqldf, plyr, data.table)

자격증/ADsP

by IT개미 데이터 2020. 7. 18. 17:17

본문

728x90

sqldf 패키지

R에서 SQL의 명령어를 사용할 수 있게 해주는 패키지

  • SQL을 활용하거나 SAS에서 porc sql로 작업하던 사용자들을 위한 패키지
  • 패키지 설치 : install.packages("sqldf")
    패키지 연동 : library(sqldf)

 

SQL명령어  VS  R명령어

  • SELECT * FROM [Data Frame]
        → sqldf("SELECT * FROM [Data Frame]")
  • SELECT * FROM [Data Frame] NUMROWS 6
    SELECT * FROM [Data Frame] HEAD([Data Frame])
        → sqldf("SELECT * FROM [Data Frame] limit 6")
  • SELECT * FROM [Data Frame] WHERE [col]='adsp%'
        → sqldf("SELECT * FROM [Data Frame] where [col] like 'adsp%'")
  • SUBSET([Data Frame], grepl("adsp%", [col]))
        → sqldf("SELECT * FROM [Data Frame] WHERE [col] LIKE 'adsp%'")
  • SUBSET([Data Frame], [col] %ds% c("AB", "CD"))
        → sqldf("SELECT * FROM [Data Frame] WHERE [col] in ('AB', 'CD')")
  • RBIND([df1], [df2])
        → sqldf("SELECT * FROM [df1] UNION ALL SELECT * FROM [df2]")
  • MERGE([df1], [df2])
        → sqldf("SELECT * FROM [df1], [df2]")

 

 

 

plyr 패키지

apply함수에 기반해 데이터와 출력변수를 동시에 배열로 치환하여 처리하는 패키지

  • 데이터를 분리하고 처리하고 다시 결함하는 등 필수적인 데이터 처리 기능 제공
  • split - apply - combine 기능을 한 번에 처리할 수 있도록 하는 기능
  • (원본데이터형식)(출력데이터형식)ply
         출력데이터형식
입력데이터형식
array data frame list nothing
array aaply adply alply a_ply
data frame daply ddply dlply d_ply
list laply ldply llply l_ply
n replicates raply rdply rlply r_plt
function arguments maply mdply mlply m_ply

ex1> ddply(df, 종속변수~독립변수, summarize, groupmean=mean(평균을 구하고 싶은 칼럼)
    결과 : "독립변수" column별로 합친 후 계산하고 출력

      

 

data.table 패키지

빅데이터를 탐색, 연산, 병합하는데 유용한 R에서 많이 사용하는 데이터 핸들링 패키지

  • R의 기본 데이터 구조인 data.frame을 대신해서 사용 가능
  • 기존 data.frame방식보다 월등히 빠른 속도(최소 20배)
  • 특정 column을 key값으로 색인을 처리하기 때문에 속도가 빠르다.
  • 빠른 그루핑과 ordering, 짧은 문장 지원 측면에서 데이터 프레임보다 유용
  • 데이터 테이블은 데이터 프레임과 동일하게 취급됨
  • 패키지 설치 : install.packages("data.table")
    패키지 연동 : data.table
  • 만들어진 테이블 목록을 본 때에서는 tables( )함수 사용
  • key를 설정할 때는 setkey( )함수 사용
        setkey( 데이터 테이블, 정렬할 칼럼)

 

 

728x90

관련글 더보기

댓글 영역