통계적인 계산과 데이터 분석에 특화되어 있는 프로그래밍 언어. 빅데이터의 대두와 함께 주목받아 그 이름이 널리 알려지게 됨. 새로운 언어를 공부하는 가장 좋은 방법은 책 한 권을 정독하거나, 혹은 그 언어의 공식 매뉴얼을 앞에서부터 따라가며 익히는 것.
R의 공식문서
https://cran.r-project.org/doc/manuals/r-release/R-intro.html
R:
배우기 수월함, 직관적인 명령어, Scripting 언어에 가까움.
통계분석이 이미 언어 내부에 내장되어 있음.
Python:
범용성을 가진 언어, 개발자의 경우 코드 최적화 용이.
R:
https://cran.r-project.org/mirrors.html
R studio:
https://www.rstudio.com/products/rstudio/download/
R Studio의 화면
①스크립트를 작성 및 편집할 수 있다.
② R을 실행하고 결과를 출력해 준다.R 명령어를 직접 입력 할 수 있다.
③ 환경변수(객체, 데이터 등)를 확인할 수 있으며 작업된 명령어를 볼 수 있다.
④ 출력된 그래프, 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/
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)벡터
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() 함수로 전체 데이터셋 목록 확인 가능
도수분포표를 그래프로 나타낸 것.
※ 도수분포표: 표본의 다양한 산출분포를 보여주는 표
히스토그램은 주로 연속형 변수 분석에 사용되고, 막대그래프는 주로 범주형 변수 분석에 사용된다.
ex)hist(cars$speed)
• 한 패키지를 사용할 때 다른 패키지가 같이 설치/부착되는 경우도 있다.
• 같은 목적이더라도 상황에 맞는 패키지 및 함수를 선택하고,
추가적으로 함수를 정의해서 쓰면 보다 효과적으로 데이터를 분석할 수 있다.
• CRAN에 등록되어 있지 않은 패키지는 별도로 주소를 지정해서 설치할 수 있다.
%주의
install.packages()의 괄호안에 패키지 이름에는 큰 따옴표가 있지만,
library() 괄호안의 패키지 이름에는 큰 따옴표가 없다.
*참고 출처:
https://dev.epiloum.net/1546
https://velog.io/@so_sa/R-%EA%B8%B0%EC%B4%88
경기도 지식(G-SEEK) - 내 인생 첫 데이터 분석_R까기 (입문편)