• R이란? 2부

    2017. 8. 2. 22:33

    by. 위지원

    http://weejw.tistory.com/45 에 이어 좀 더 자세하게 R을 알아보고 오늘은 사용까지 해보도록 하자

    R이 뭘까?


    R공식 사이트 [http://www.r-project.org] 에 따르면


    1.R is a language and environment for statistical computing and graphics

    (R is a language and environment for statistical computing and graphics.

    출처: http://rfriend.tistory.com/2 [R, Python 분석과 프로그래밍 (by R Friend)]R is a language and environment for statistical computing and graphics
    R is a language and environment for statistical computing and graphics

    출처: http://rfriend.tistory.com/2 [R, Python 분석과 프로그래밍 (by R Friend)]
    R is a language and environment for statistical computing and graphics

    출처: http://rfriend.tistory.com/2 [R, Python 분석과 프로그래밍 (by R Friend)]

     R은 한마디로 통계분석과 그래픽을 위한 언어이자 환경이다.


    2."We prefer to think of it of an environment within which statistical techniques are implemented "'

     우리는 R을 통계기법이 실행되는 환경으로 생각해주기를 바란다.


     라고 말하며 언어이자 환경으로서 다른 툴과 차별화된다고 말하고 있다.



    왜 R을 쓰는거지?


    1)무료

    2)4-5천개의 패키지로 최신 분석 기법을 가질 가능성이 높다.

    3)오픈소스다 보니 전세계의 관련자들이 사용자정의 함수를 만들어 배포,공유하는 생태계가 형성되어있어 분석기능이 타 상용화 프로그램에 비해 빠르게 확장되고 고도화되고 있다.

    4)머리로 생각하는 그래프는 거의 대부분 그릴 수 있는 강력한 그래프기능 ,완성도도 높다. 시각화는 분석에서 중요성이 높다

    5)데이터 처리에도 강력

    6)객체 지향 프로그래밍 언어




    아래의 도표는 2017년  2900명정도의 조사대상에 대한분석 및 데이터 과학 커뮤니티 공급 업체로부터 받은 설문조사 결과

    참가 국가는

        • US/Canada (41.5%),
        • Europe (35.5%),
        • Asia (10.1%),
        • Latin America (6.5%),
        • Africa/MidEast (3.8%),
        • Australia/NZ (2.7%).




    표에 나와 있는 것 중 생소한 것을 몇 가지 찾아봤는데


    1.rapidminer는 예측분석을 위한 모델 개발/관리까지 완전 gui기반 작업을 할 수 있는 통합 플랫폼 http://www.rapidminer.co.kr/

    2.anaconda는 파이썬과 C로 구성된 설치 소프트웨어로 콘솔/gui모드를 제공해준다  https://docs.continuum.io/

    3.scikit-learn은 파이썬으로 구현한 기계학습 라이브러리

    4.tableau는 태블로라는 회사에서 만든 데이터시각화,  BI시 리포팅도구

    5.knime은 코딩없이 예측분석 어플리케이션을 구축하게할 수 있다. 캔버스에 노드를 가져와 구성해 워크플로로 통합 개발을 하게 해준다.



    보니깐 R이 2016년까지는 최고였는데 python이 무서운 속도로 따라와 조금의 차이로 1등을 차지한 것이 보인다.



    R의 장점이 뭘까?

    1.다양한 os지원

    2.간단한 txt파일부터 sas,excel,mysql,sqlite등 여러곳에서 데이터 불러오기 가능

    3.pdf,jpg등으로 데이터 쓰기 가능


    R의 단점이 뭘까?

    1.메모리 관리

    2.속도

    3.어려운 접근성 : 프로그래밍 언어이기때문에


    이쯤되면 왜 R을 쓰는지와 R의 점유율(?) 이라고 해야할까를 알 수 있었다. 이제 실제로 R 을 사용해보자.



    1.설치

    나는 우분투를 사용하고 있기때문에 센터에서 R을 다운받았다.

    https://cran.r-project.org/mirrors.html



    그리고  편리한 사용을 위해 rstudio도 설치하자

    https://www.rstudio.com/products/rstudio/download/#download


    + rstudio 설치할때 .deb파일을 설치하기 위해

    $sudo apt-get install gdebi-core 명령어로 설치한 뒤

    $sudo gedbi -n ------rstudio파일명.deb




            R에 대한 강의는 https://www.datacamp.com/courses 에서 얻을 수 있다. 잘가르쳐준다



    R의 기초를 알아보자


    R data type은 뭐가있을까?

    1.vector (1차원)

    2.matrices (2차원)

    3.arrays (모든 차원)

    4.lists

    5.data frame (2차원,엑셀시트)



    1.vector : 연속적인 데이터 - 같은 타입의 데이터

    concatenate : 사슬같이 잇다.



    2.matrices




    dim()은 행,열의 숫자


    3.array : 쓰는사람이 거의없다한다..활용가치 0


    4.list




    5.Data Frames






    -매트릭스와 데이터 프레임의 차이는 매트릭스는 모든 행과 열들이 같은 데이터여야만 한다.

     *그렇지만 데이터 프레임도 한열에 데이터 타입은 같아야 한다.

    -매트릭스는 데이터 프레임에 비해 메모리가 현저히 낮다


    -데이터 행,열에 이름을 부여할 수 없다.



    기본적인건 이정도 인것 같고.. 시각화를 어떻게 하는지 한번 알아보자




    R의 시각화(?)를 알아보자


    데이터 시각화가 정확히 뭐예요?!


    데이터를 시각적으로 표현하는 모든 과정

    정보·과학적 시각화,인포그래픽(다량의정보를 그림으로 표현하는 디자인)


    왜 시각화해요?!


    인간은 정보를 받아 들일 때 시각에 대한 의존도가 높다.

    패턴화 된  자료를 받아 들일때 가장 빠른 인지속도를 나타낸다.

    그러므로 시각화는 높은 정보전달의 효율성을 얻을 수 있다.


    시각화는 새로운 정보도 발견할 수 있다.

    위의 도표는 장미 도표라 하는데 크림전쟁당시 나이팅게일에 의해 작성된 도표이다.

    도표를 그려 비위생적인 야전병원으로 인해 군인이 사망한다는것을 알게되었다.



    r에서는 3가지의 그래픽도구 있는데

    1.R Base Graphics

    plot,par,함수등으로 사용할 수있어 별도의 설치없이 사용가능하지만 설정이 복잡하다


    2.Lattice Graphics

    S언어 기반의 트렐리스 그래픽스를 R환경에 구현한 그래픽 패키지 내장되어있으나 패키지를 불러와 사용해야함

    많은 플롯을 생성해 다차원의 데이터로 변수상관관계를 살펴보는데 강함

    순차적 그래프 누적이 어렵고 직관적이지 못해 사용빈도가 줄어듬


    3.ggplot

    1,2번의 패키지들의 장점만 모아둔 패키지 고급그래프를 쉽게 그릴 수 있고 데이터/그래픽 객체로 나눌 수 있기때문에 코드의 재사용성이 높음



    아주간단하게는 이렇게 할 수 있고..



    엑셀데이터를 읽어와서 막대그래프로 표현해보자


        


    간단하게 엑셀 데이터를 하나 만들고


    읽는 것은 read.csv("파일명",sep=",",header=TRUE)로 읽을 수 있다.


    barplot(읽어온파일을 저장한 변수$정렬할 컬럼명) 을 입력해주면 컬럼명을 막대그래프로 그려준다

    또한 이렇게 그려진 그래프를 다른 형식으로 저장도 할 수 있다.







    출처url

    http://www.kdnuggets.com/2015/05/poll-r-rapidminer-python-big-data-spark.html

    http://rfriend.tistory.com/2

    http://rstudio-pubs-static.s3.amazonaws.com/181395_daea8b554d1646b3be25aae5db4ebb99.html#22

    http://blog.naver.com/PostView.nhn?blogId=coder1252&logNo=220931259003&beginTime=0&jumpingVid=&from=search&redirect=Log&widgetTypeCall=true

    '2017년 > Database' 카테고리의 다른 글

    python orm sqlalchemy를 써보자[1.1.x]기준 2부  (0) 2017.08.06
    ggplot에 대해 알아보자  (0) 2017.08.04
    HBASE란?  (0) 2017.07.21
    R이란?  (0) 2017.07.12
    ORM에 대해 알아보자  (1) 2017.07.07

    대화의 장 💬