R 프로그래밍

1. R 환경설정 및 기초 문법

잘잔디 2023. 4. 17. 10:24
  1. R 프로그램을 다운로드하기 위해 아래 사이트에 접속하여 4.0.2 버전을 다운로드하여준다.
  2. IDE 설치를 위해 R studio도 다운로드한다.

실행을 위해서는

  • file → New File → R Script로 파일을 생성한 후 코딩을 한다.
  • 그 후 Run버튼으로 한 줄씩 실행도 가능하고, Source 버튼으로 한 번에 실행도 가능하다.
  • R studio의 경우 오른쪽 Environment창에 메모리에 올라가는 형태도 보여준다.

함수의 기능이 궁금할 때

  • Help에 검색이 가능하다.

원하는 패키지를 다운로드하고 싶을 때

  • Packages에서 찾아서 다운로드하면 된다.

변수 목록 확인 및 변수 삭제

  • rm(list = ls())를 통해 전체 변수 삭제도 가능하다.

a <- 10
b <- 20
c <- a + b

ls()
ls.str()
rm(a)
ls()
rm(list =ls())
ls()

벡터 생성하기

  • c(…) 연산자를 이용해 벡터 생성
    • 숫자, 문자열, 논리값 중에 한 가지로만 구성
    • 변수 형태로 받을 수 있음.

c(1,2,3,4,5,6,7,8)
c(1*pi, 2*pi , 3*pi)
c("everyone","loves","R")
c(TRUE,TRUE,FALSE)

수열 생성하기

  • n:m 표현식을 사용한다
    • n, n+1, n+2,…, m 벡터 생성
1:5
9:0
seq(from=1 , to = 5, by = 2)
rep(1,times = 5)

s<- as.Date("2015-01-01")
e<- as.date("2015-01-15")#에러발생
e<- as.Date("2015-01-15")
seq(s,e,1)
seq(from=s,by=1,length.out=7)

비교연산자를 이용하기

  • == , ≠, < , > , ≤ , ≥
    • R에도 2개의 논리값 TRUE와 FALSE가 있음.

v <- c(3,pi,4)
w <- c(3,3,3)
v < w
v >= w
v == pi
any(v ==pi)
all(v == pi)

벡터에 있는 원소 찾기

  • 인덱스를 이용해 원소를 선택
  • v의 세 번째 원소 : v [3]
  • 논리형 벡터와 인덱스를 이용
  • 이름을 이용
fib <- c(0,1,1,2,3,5,8,13)
fib[5]
fib[1:3]
fib[c(1,2,4)]
fib[-1] #1번째 원소를 제거한 나머지 값들 

years <-c(1960, 1964, 1976, 1994)
names(years) <-c("Kennday", "'Johnson", "Carter", "clinton")
years
years["Carter"]
years(1976)

벡터 쌍에 각 원소들끼리 계산

  • 양쪽 대치되는 원소와 계산

v <- c(11,12,13,14,15)
w <- c(1,2,3,4,5)
v+w
v/w
v^w
w-mean(w)

함수를 매개변수 목록과 함수 본문으로 생성

cv <- function(x) sd(x)/mean(x)
cv(c(1:10))

gcd<- function(a,b){
  if(b==0) return(a)
  else return(gcd(b, a %% b))
}
gcd(8,2)

작업 디렉터리 변경 혹은 확인

  • getwd() 함수를 이용해 확인
  • setwd() 함수를 이용해 변경
getwd()
setwd("C:/Chang_git/R")

R의 작업 공간 저장

  • save.image() 함수를 이용해 저장
    • 작업공간에는 R의 변수와 함수가 들어 있음
    • 작업공간은 메모리에, R 종료될 때까지 유지됨
    • 그래프는 저장 안 됨
    • 아래 사진과 같이 현재 위치에 저장되며, 현재까지의 실행한 것들을 저장하여 추후에 불러올 수 있음.

  • 불러올 경우 이전 메모리에 올라갔던 값들이 남아있는 것을 확인할 수 있다.
  • History를 들어가 봐도 이전 명령어 대로 기록이 남아있다.

R에 로딩된 패키지 목록

  • search() 함수를 이용해 검색
    • 현재 메모리에 로딩된 패키지
    • 작업공간 : GlobalEnv
    • 패키지 : package : 패키지 이름

  • 컴퓨터에 설치된 라이브러리 목록을 알고 싶을 때
    • library() 함수를 사용
    • installed.packages()를 통해 설치되어 있는 라이브러리 목록 확인 가능