R:개요

학교의 모든 지식. SMwiki
Sam (토론 | 기여)님의 2020년 9월 12일 (토) 12:08 판
둘러보기로 이동 검색으로 이동

R언어 공부를 위한 틀 틀:R

  1. R:개요
    1. R:코딩팁
    2. R:연산자
  2. R:객체
    1. R:자료형
    2. R:자료구조
  3. R:함수
    1. R:자주사용하는 함수
      1. R:aplly계열(반복문, 중복작업)
  4. R:제어문
    1. R:조건문
    2. R:반복문
  5. R:자료조작
    1. R:데이터프레임
    2. R:행렬
  6. R:데이터 저장과 불러오기
    1. R:데이터베이스
    2. R:특정조건 추출하기
  7. R:패키지
    1. R:magrittr(파이프연산자)
    2. R:dplyr(데이터프레임 조작)
    3. R:ggplot2(그래프그리기)
    4. R:KoNLP(한글 텍스트마이닝), wordcloud2(워드클라우드)
    5. R:ddply(데이터 집계, 조작)
    6. R:tidyverse(데이터를 정제하는 패키지들의 집합)
    7. R:jsonlite(JSON 파일 다루기)
    8. R:pbapply(apply계열에 진행바를 보여준다.)
  8. R:활용
    1. R:데이터 접근
    2. R:연관성분석
    3. R:분류분석
  9. R:팁
    1. R:연구용 팁

개요

1995년 뉴질랜드 오클랜드대학의 로버트 젠틀먼, 로스 이하카에 의해 개발 시작.(그래서 R) R development core team에서 지속적인 개선중.

객체지향의 오픈소스 언어.

목적

배열, 행렬형태의 데이터를 다루기 위한 것.

통계나 데이터처리를 위해.

장점

- 무료배포 소프트웨어

- SPSS, java, C, DBMS 등 다양한 프로그램언어와 서비스에 대한 확장성.

- 재현가능성. 이전의 분석을 다시 재현한다.

- 소통. stack overflow 등을 통해 교류하기 용이하다.

- 데이터 시각화에 특화.

많은 명령어가 있는데, 같은 기능을 하는 명령어들이 많다. -> 코드가 작성자에 따라 개성 넘친다. 가장 큰 장점이자 단점.(메뉴얼을 만들기가 정말 어렵다;)

단점

데이터크기에 제약이 있다.(데이터를 ram에 저장하기 때문) => SQL 등을 통해 사전처리하거나 패키지로 개선 가능.

주요 사용처

- 기업. 구글, 페이스북, 트위터 등에서 통계, 분석에 사용한다.

할 수 있는 것

다양한 시각화. 각종 그래프, 스타차트, 산포도, 소셜네트워크분석, 지도시각화, 텍스트마이닝, 워드클라우드,

학습조언

파이썬과 달리, 복잡한 데이터를 다루기에, 책만으론 어려웠다. 게다가, 코딩스타일도 사용자에 따라 엄청나게 달라질 수 있기에 영상의 도움을 받는 편이 좋다.

학습매체 개요
스마트미디어인재개발원 10분 내외의 무료강의들로 구성.

기초에서 기본적인 자료구조, 패키지 이용법을 가르치며, 중급에서 dplyr, 고급에서 연관성분석, 교류분석을 가르쳐준다.


설치

http://www.r-project.org

편집기IDE

기본적으로 대화식이지만, 파일>새로운 스크립트 안에서 코드를 짤 수 있다. 코드의 실행은 편집>전부실행

R만으로도 작성은 가능하나, 불편하다. 편의성을 위해 편집기가 필요하다.

Rstudio

기본은 Rstudio 편집기로 편집. 기본적인 편집편의기능은 타 언어나 리눅스와 동일.

우측에 변수나 파일을 볼 수 있어 관리에 용이하다.

스크립트를 작성하기 위해선 프로젝트 단위로 관리하는 게 편하다. File 안에서 만들 수 있다.

가로스크롤 비활성화

코드를 작성하다 길어지면 메모장마냥 우측으로 끝없이 길어지는데, tool>global option>code>soft-wrap resource files 를 선택하면 창 크기에 따라 자동 줄바꿈이 일어난다.

단축키

ctrl+enter는 실행. 해당 한 줄을 콘솔창에서 실행하며 한 줄 내린다. 기본적으로 한 줄을 실행하지만, 줄의 일부를 실행하고 싶을 땐 블록지정 후 하면 된다.

서버

서버 형태로 사용할 수도 있어, 컴퓨터 사양에 구애받지 않고 다룰 수도 있다.

Tinn-R

http://sourceforge.net/projects/tinn-r

문법에 따라 함수, 키워드 등으로 글꼴을 구분해주어 작성, 내용파악에 도움을 준다.