R 기초

soso·2022년 7월 19일
1

데이터분석

목록 보기
1/2
post-thumbnail

이 포스팅은 R 기초 특강을 듣고 작성되었으며, 예제는 직접 재구성하였습니다.

R은 파이썬과 마찬가지로 대표적인 데이터분석 언어입니다.
아래 예제들을 직접 작성해보면서 R 기초 문법을 익히는데 도움이 되었으면 좋겠습니다.

0. R 설치 및 기본 화면

  1. R project 다운
    https://cran.r-project.org/mirrors.html
    Korea 미러사이트 중 아무 사이트나 들어가서 Windows / Mac 등 환경에 맞는 파일을 다운 받으면 됩니다.

  2. R studio 다운
    https://www.rstudio.com/products/rstudio/download/
    Windows / Mac 등 환경에 맞는 파일을 다운 받으면 됩니다.
    설치과정에서 기본값 변경없이 전부 다음을 클릭 후 설치

  3. R studio 작업화면

1) 스크립트: R 코드를 작성하는 화면 (ctrl+enter로 코드 실행)
2) 콘솔: 실행한 코드 결과가 나타나는 화면
3) 환경창: 객체 확인 가능
4) 파일경로, plot 확인

1. 작업경로 확인 및 설정

getwd()
setwd('작업경로')
  • getwd(): 현재 작업 경로를 확인하는 함수
  • setwd('작업경로'): 작업 경로를 새로 지정해 주는 함수

2. 데이터 유형

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

3. 데이터 입력

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

info <- data.frame(name = students,
				   age = c(18,17,19,18),
                   points = c(100,85,70,90))
  • c(): 스칼라를 하나로 묶어주어(combine) 벡터를 생성하는 생성자 함수
  • print(): 객체를 출력해주는 함수

4. 범주형 변수 기술 통계

4-1. 빈도표

data <- c('good','bad','soso','soso','bad','good','good','bad','good')
table(data) #빈도표로 생성
factor(data) #범주형 변수를 집단 구분 요인으로 변경

4-2. 막대그래프

barplot(table(data))

4-3. 파이차트

pie(table(data), col = c('blue','red','black'))

5. 연속형 변수 기술 통계

5-1. 통계

(1) 벡터

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) 데이터프레임
apply(cars, 2, mean)
apply(cars, 2, range)


cars는 R의 내장데이터 중 하나이다.

  • R 내장 데이터: cars, iris 등
    data() 함수로 전체 데이터셋 목록 확인 가능

5-2. 히스토그램

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

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

5-3. 상자그림

데이터의 중심과 산포 확인 가능한 데이터 분포를 나타낸 것.

boxplot(cars$dist)

상자그림을 통해 극단값이 존재함을 알수있다.

5-4. 산점도

두개의 연속형 변수의 관계를 보여주는 것.

plot(cars$speed, cars$dist)

model <- lm(dist ~ speed, cars)
plot(cars$speed, cars$dist)
abline(model)

속도(speed)가 증가함에 따라 dist(거리)가 증가하는 관계를 가지는 것을 알 수 있다.

5-5. 선 도표

시간 경과에 따른 연속형 변수의 변동을 보여주는 것.

plot(cars$speed, cars$dist, type='l')

profile
공부하는 블로그

0개의 댓글