Notice
Recent Posts
Recent Comments
Link
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

BASEMENT

R 프로그래밍 2주차 본문

Programming/R

R 프로그래밍 2주차

2_34 2020. 7. 5. 13:00

 

 

 

https://www.r-project.org/에서 R설치

R studio 설치

 

r 변수명 규칙

  • 리눅스 명령어와 유사
  • 알파벳, 숫자, ' _ ', ' . '로 구성됨. ' - ' 사용하지 않음
  • 파일명 첫글자로 숫자, ' _ ' 사용 불가
  • 대문자와 소문자 서로 구분
  • 변수값 대입은 <-, = 사용
  •  ex) x <- c(1:10)
  • ;(세미콜론)은 명령문과 명령문을 구분 짓는 역할
  • ls() : 생성된 변수의 리스트 출력
  • rm() : 생성된 변수 삭제
  • rm(list=ls()) : 모든 변수 삭제
  • Is.na() : 변수에 na값이 저장되어 있는 지 확인
  • na.omit : na값이 있는 행 모두 삭제       # 사용하지 않도록 주의!

r 패키지 설치

r studio 창에 입력

install.packages("패키지명") 
library(패키지명)

install.packages로 패키지 설치 후 library로 불러서 사용함

# 패키지 설치 시 큰따옴표를 입력해야 하지만 library로 불러올 때는 큰따옴표 사용하지 않음

r 도움말

?명령어 입력
ex) ?mad를 입력 -> Help창에 mad에 대한 정보를 알려줌

데이터 입출력

  • read.csv() : csv파일을 데이터 프레임으로 읽어옴
  • write.csv() : 데이터 프레임을 csv파일로 저장
data(iris)
head(iris)
write.csv(iris,file="newiris.csv",row.names=FALSE)
newiris<-read.csv("newiris.csv")
head(newiris)
newiris2<-read.table("newiris.csv",sep=",",header=T)
save(newiris2, file="newiris2.RData") load("newiris2.RData")
  • summary() 요약
  • str() 문자
  • dim() 데이터프레임의 길이
  • mean() 평균
  • sd() 표준편차
  • var() 분산
  • mad() 중위수 절대편차
  • quantile() 4분위수
  • diff() 각 수들의 차이

데이터 타입

1) 벡터

한 개 이상의 원소로 구성된 자료구조. R의 자료 객체 중에서 가장 기본이 되는 자료. 객체를 의미함
기본함수 c()

  • length : 자료의 개수

  • mode : 자료의 형태

  • dim : 각 차원 벡터의 크기

  • dimnames : 각 차원 리스트의 이름

2) 행렬

동일한 형태로 구성된 2차원의 데이터 구조

행의 차원과 열의 차원을 갖고 있으며, 벡터와 마찬가지로 하나의 행렬은 수치형, 문자형, 논리형 중 한 가지 형태의 원소만 갖음

 

3) 배열

행렬을 2차원 이상으로 확장시킨 객체

2차원 구조로 이루어진 행렬도 일종의 배열. 일반적으로 3차원 이상의 데이처 객체를 배열이라 함

 

4) 리스트
서로 다른 형태의 데이터들(숫자, 문자형)로 구성된 객체

행렬과 배열이 동일한 형태의 원소로 이루어진 객체인 반면, 리스트를 구성하는 성분은 서로 다른 형태의 원소 가능, 길이도 다를 수 있음 

 

  • length : 자료의 개수
  • mode : 자료의 형태
  • names : 각 구성요소의 이름

5) 데이터 프레임

형태가 일반화된 행렬(matrix)
데이터 프레임이라는 하나의 객체에 여러 종류의 자료가 들어갈 수 있음
행렬, metrix 등 정형된 형태로 다른 형태의 데이터가 들어갈 수 있음
분석이나 모형 설정에 적합한 자료 객체
데이터 프레임의 각 열은 각각 변수와 대응
 

백터 연산

  • union(x,y)  - 합집합
  • intersect(x,y) - 교집합
  • setdiff(x,y)  - x를 기준으로 차집합
  • setequal(x,y) - 집합이 동일한지 확인

벡터 논리연산자

  • &  - and
  • |  - or

R 기본 함수

  • min(x) : 벡터에서 최소값
  • max(x) : 벡터에서 최대값
  • pmin(x1,x2) : 두 벡터의 상응하는 원소들 중 작은 값
  • pmax(x1,x2) : 두 벡터의 상응하는 원소들 중 큰 값
  • range(x) : 벡터의 범위
  • mean(x) : 평균
  • sd(x) : 표준 편차
  • var(x) : 분산
  • median(x) : 중앙값(중위수)
  • quantile(x,p) : (100*p)%에 해당하는 값
  • cor(x,y) : 상관 계수

조건문

조건문 예제

if(mean(x) > mean(y))  
  print(mean(x)) 
  print(var(x)) 
  } else { 
  print(mean(y)) 
  print(var(y)) 
  }

x의 평균값이 y의 평균값보다 크다면, x의 평균값과 분산값을 출력하고, 아니면 y의 평균값과 분산값을 출력해라

반복문

1. for 

x<-0 
for(i in 1:10) {x <- x+i}

 

2. while 

 

while(조건){실행문} 

i <- 1 
while(i<=5) { 
  print(rep(i,i)) 
  i <- i+1 
}

 

3. repeat

 

repeat{실행문}

i <- 1 
x <- 0 
repeat{ 
  if(i>10) break 
  x <- x+i 
  i <- i+1 
} 
x

 

함수

R의 내장함수에 사용자가 원하는 특정한 기능이 구현되어 있지 않다면, 사용자 스스로 직접 함수를 생성하여 원하는 기능 수행 가능

function_name <- function(인자,인자,...) { 
 함수본문 
 return(반환값) 
}

 

데이터 전처리

  • 데이터 분리/병합/정렬
  • 주어진 데이터를 조건에 따라 분리 : split(), subset()
  • 주어진 데이터를 조건에 따라 병합 : merge()
  • 주어진 데이터를 직접 정렬해주는 함수 : sort()
  • 데이터를 정렬했을 때의 순서를 반환 : order()

 

1) split

split(데이터명, 데이터명$조건)

 

2) subset

주어진 조건을 만족하는 데이터 선택

subset(데이터명, 조건 & 조건) -> 텍스트 처리에 주로 사용됨

ex) subset(iris, Species == "setosa" & Sepal.Length > 5.0)

     subset(iris, select=c(Sepal.Length, Species))

 

3) sort

x <- c(20, 11, 33, 50, 47)

sort(x) 

sort(x, decreasing=TRUE)  -> 내림차순

* order는 정렬을 해주는 함수가 아니라 정렬했을 때 순서만 알려주는 함수

그 외

순서형 변수 -> levels을 꼭 붙여줘야 함

 

문자열에는 " " 만 가능

팩터 - 범주형 데이터를 표현하기 위한 데이터 타입. 범주형 데이터는 또 다시 명목형과 순서형으로 구분됨

 

ordered, is.ordered

 

attach() - 데이터 프레임에서 $ 사용 안해도 됨

detach() - attach를 풀어줌

'Programming > R' 카테고리의 다른 글

R 프로그래밍 - 7주차  (0) 2020.08.11
R 프로그래밍 6주차  (0) 2020.07.20
R 프로그래밍 5주차  (0) 2020.07.18
R프로그래밍 4주차  (0) 2020.07.06
R프로그래밍 3주차  (0) 2020.07.05
Comments