R수업 보충(1)

류소리·2022년 8월 23일
0

R-복습

목록 보기
1/1

R

통계적인 계산과 데이터 분석에 특화되어 있는 프로그래밍 언어. 빅데이터의 대두와 함께 주목받아 그 이름이 널리 알려지게 됨. 새로운 언어를 공부하는 가장 좋은 방법은 책 한 권을 정독하거나, 혹은 그 언어의 공식 매뉴얼을 앞에서부터 따라가며 익히는 것.

R의 공식문서
https://cran.r-project.org/doc/manuals/r-release/R-intro.html


데이터분석 분야의 핵심언어

R:
배우기 수월함, 직관적인 명령어, Scripting 언어에 가까움.
통계분석이 이미 언어 내부에 내장되어 있음.
Python:
범용성을 가진 언어, 개발자의 경우 코드 최적화 용이.


R의 설치

R:
https://cran.r-project.org/mirrors.html
R studio:
https://www.rstudio.com/products/rstudio/download/

  • R Console 과 함께 R 편집기가 제공된다.
  • 실행을 하려면 Ctrl + R 을 누른다.

R Studio의 화면
①스크립트를 작성 및 편집할 수 있다.
② R을 실행하고 결과를 출력해 준다.R 명령어를 직접 입력 할 수 있다.
③ 환경변수(객체, 데이터 등)를 확인할 수 있으며 작업된 명령어를 볼 수 있다.
④ 출력된 그래프, R에 설치되어있는 패키지들 그리고 도움말 등을 볼 수 있다.


R의 화면표시

  • 구문의 끝에는 다른 언어와 마찬가지로 세미콜론(;)을 붙여주어야함.
  • 줄바꿈을 할 경우에는 자동으로 그 줄의 가장 끝에 세미콜론이 붙게 됨.
  • 줄에 2개 이상의 구문을 입력하는 경우에는, 구문 사이를 세미콜론으로 구분해야 함.

R 처음실행

  • R 은 기본함수가 제공함.
  • 종료는 q( )
  • 음수 가능 -> 소수점 7자리까지 표현.
  • 콘솔 지우기는 Ctrl + L
  • 한꺼번에 실행 -> 글자단위로 선택 -> 실행은 Ctrl + R

R 설치하고 처음 하는 일

  • RGui 글꼴 및 배경색
  • getwd( )
  • setwd( )
  • a <- c(1,2,3), print(a), sum(a), var(a), sd(a), pi
  • b <- c(1:10)
  • install.packages(“dplyr”)

R을 사용하는 이유

  • 매우 다양한 통계/데이터마이닝 분석 기법을 사용할 수 있음.
  • 사용에 제약이 없는 오픈소스 기반이며 확장이 용이함.
  • 운영체제에 영향을 받지 않음: Windows, Linux, MacOS X 등.
  • It’s free.

R의 기본문법 및 데이터 타입

  • R이 시작되면 R Console이라는 이름의 창이 열리고 그 창에 『>』 기호가 나타나는데 이것이 바로 R의 프롬프트 이다.
  • R에서 주석을 사용하기 위해서는 『#』을 이용한다.
  • 프롬프트 다음에 명령문을 입력하고 ENTER를 누르면 입력된 명령문이 실행이 되어 그 결과가 바로 다음 줄에 나오게 된다.
  • R은 대소문자를 구별
  • 명령어가 불완전한 경우 자동적으로 연결 프롬프트 『+』를 생성하게 된다.
  • 한 줄에 여러 개의 명령문을 사용할 경우 한 가지 명령문의 마침은 『;』으로 구분한다. 명령을 이어쓰기 할 때 사용.

주요문법들

  • 객체(변수)의 할당과 삭제
    대부분의 언어에서는 이름을 붙여 어떤 값을 보관하는 가상의 공간을 흔히 변수라고 함. R에서는 이것을 객체(Object)라고 부름.

  • 객체는 미리 선언할 필요 없이 할당만 하면 바로 생성됨.

  • 객체의 이름에는 문자와 숫자를 사용할 수 있으며, 첫 글자는 반드시 문자여야 함.

  • 영문자인 경우에는 대소문자를 구분한다는 점에 유의해야 함.

  • 할당연산자 =를 사용할 수 있음.

  • 많이 사용되는 할당연산자는 <-과 ->.
    <-는 우변의 결과를 좌변의 객체
    ->는 좌변의 결과를 우변의 객체에 대입 함.

  • ls(): 할당된 모든 객체의 이름을 확인.

  • objects(): 할당된 모든 객체의 이름을 확인.

  • rm():이미 할당된 객체를 삭제.


자료구조

객체에는 7 가지의 자료구조를 할당할 수 있음.

(1)첫 번째는 스칼라(Scalar).

단순히 객체에 하나의 값을 할당했을 때, 
바로 그 할당되는 값을 R은 스칼라라고 지칭합니다. 
스칼라 값에는 실수, 문자열, 논리값(TRUE, FALSE)의 
3가지 자료형이 있습니다.
ex)x <- 2.7		# 실수
y <- "string"	# 문자열
z <- FALSE		# 논리값

(2)두 번째 자료구조는 벡터(Vector).

벡터는 같은 자료형을 가진 스칼라 값들을 순서를 가지고 일렬로 나열한 자료구조. 
벡터는 함수 'c()'에 넣을 값들을 나열하여 생성하는 것이 일반적, 
실수 값을 가진 벡터의 경우 '시작값:종료값'의 형태로도 생성할 수 있음. 
이 경우 벡터는 시작값에서부터 종료값에 이르기 전까지 '1씩'증가한 실수들로 채워질 것.

(3)세 번째 자료구조는 행렬(mat,matrix).

행렬은 서로 다른 자료형을 가진 스칼라 값들을 2차원으로 나열한 자료구조. 
행렬은 함수 matrix(벡터, nrow=행개수, ncol=열개수)로 생성함. 

(4)그 외에도 자료구조

행렬을 3차원 이상으로 확장한 '배열(Array)' 
다른 언어의 1차원 연관배열(Associative Array)에 해당하는 '리스트(List)'
같은 항목간에 그룹이 지어져 있는 '팩터(Factor)'
모든 자료구조를 2차원 자료구조로 모두 저장할 수 있는 '데이터프레임(Data Frame)' 

자료구조 정리
https://www.programcreek.com/2014/01/vector-array-list-and-data-frame-in-r/

  • Scalars 스칼라: 하나의 원소를 가지는 벡터
    여기서 70, 80 각 점수가 하나의 스칼라
  • Vector 벡터: 같은 자료형의 원소가 모인 형태
  • scores는 수치형 자료가 모인 벡터
  • Matrix 행렬: 차원을 갖는 벡터, 벡터가 모이면 행렬이 됨
  • List 리스트: 서로 다른 자료형이 모인 벡터
  • Dataframe 데이터프레임: 열과 형이 존재하는 테이블 구조

데이터 입력

  • c(): 스칼라를 하나로 묶어주어(combine) 벡터를 생성하는 생성자 함수
  • print(): 객체를 출력해주는 함수

ex)
students <- c('Jane','Tommy','Anna','Alex')

ex)
info <- data.frame(name = students,
age = c(18,17,19,18),
points = c(100,85,70,90))


연속형 변수 기술 통계

(1)통계

  • (1)벡터

    	ex) mean(info$points)
    	    sd(info$points)
    	    range(info$points)
    	    summary(info$points)
    	    install.packages('psych') #패키지 설치
    	    library(psych)
    	    describe(info, IQR=T) #사분위수범위(IQR) 요청

    데이터$데이터변수명
    mean(): 평균
    sd(): 표준편차
    range(): 범위
    summary(): 기술통계 요약
    install.packages(): 패키지 설치
    library(): 사용할 패키지 입력
    describe(): psych 패키지에 포함되어있는 자세한 기술통계 요약 함수

  • (2)데이터프레임

    	ex)apply(cars, 2, mean)
    	   apply(cars, 2, range)

    cars는 R의 내장데이터 중 하나이다.
    R 내장 데이터: cars, iris 등
    data() 함수로 전체 데이터셋 목록 확인 가능

(2)히스토그램

도수분포표를 그래프로 나타낸 것.
※ 도수분포표: 표본의 다양한 산출분포를 보여주는 표

히스토그램은 주로 연속형 변수 분석에 사용되고, 막대그래프는 주로 범주형 변수 분석에 사용된다.

ex)hist(cars$speed)

대표적인 패키지들

  • ‘ggplot2’ : 데이터 시각화.
  • ‘readxl’ : 엑셀 xls/xlsx 파일을 R로 불러오는(import) 경우 사용.
  • ‘dplyr(디플라이어)’ : 데이터를 빨리, 쉽게 가공할 수 있도록 도와준다.
  • ‘Rcpp’ : R의 느린 속도를 보완하기 위해 C++을 통합해서 사용.
  • ‘caret’, ‘e1071’ : 다양한 머신러닝 알고리즘이 구현됨.
  • ‘mxnet’, ‘nnet’ : 신경망을 다룰 때 사용.

• 한 패키지를 사용할 때 다른 패키지가 같이 설치/부착되는 경우도 있다.
• 같은 목적이더라도 상황에 맞는 패키지 및 함수를 선택하고,
추가적으로 함수를 정의해서 쓰면 보다 효과적으로 데이터를 분석할 수 있다.
• CRAN에 등록되어 있지 않은 패키지는 별도로 주소를 지정해서 설치할 수 있다.

%주의
install.packages()의 괄호안에 패키지 이름에는 큰 따옴표가 있지만,
library() 괄호안의 패키지 이름에는 큰 따옴표가 없다.


*참고 출처:
https://dev.epiloum.net/1546
https://velog.io/@so_sa/R-%EA%B8%B0%EC%B4%88
경기도 지식(G-SEEK) - 내 인생 첫 데이터 분석_R까기 (입문편)

profile
새싹 빅테이터 개발자

0개의 댓글