코딩테스트를 위한 R 기초 벼락치기

1. 변수 생성

 

<- 으로 값을 할당

 

문자로 시작해야하고 문자, 숫자, 대시(-), 언더바(_) 사용 가능

a <- 1
a
1

 

문자 값을 넣을려면 ""를 사용

str1 <- "a"
str1
"a"

 

2. c()

 

하나의 변수에 여러개의 값을 넣는 벡터를 생성하는 함수

 

a <- c(1,2,3,4,5)
a
1 2 3 4 5

 

: 을 이용하여 1씩 증가하는 연속된 숫자열을 생성

 

a <- 1:5
a
1 2 3 4 5
b <- c(1:5)
b
1 2 3 4 5

 

3. seq()

 

c()와 마찬가지로 연속되는 숫자열 생성 가능

 

by 파라미터를 이용하면 간격을 두고 숫자열 생성 가능

 

a <- seq(1,10,by=3)
a
1 4 7 10

 

파이썬처럼 벡터 연산에서 기본적인 broadcasting이 가능함

 

a <- c(1,2,3,4,5)
a+1
2 3 4 5 6
b <- c(3,4,5,6,7)
a+b
4 6 8 10 12

 

4. 기본적인 통계량 함수

 

max, min, mean, median, var, sqrt, /(나누기), %/%(몫), %%(나머지) 등 기본적인 통계량 함수들을 지원함

 

b <- c(3,4,5,6,7)
median(b)
5
max(b)
7
mean(b)
5

 

paste(str, collapse=)를 이용하여 문자열 벡터를 하나의 문자열로 합칠수 있다

 

d <- c('hello','world','is','good')
d
'hello' 'world' 'is' 'good'
paste(d)
'hello' 'world' 'is' 'good'
paste(d,collapse='')
'helloworldisgood'
paste(d,collapse=' ')
'hello world is good'
paste(d,collapse=',')
'hello,world,is,good'

 

5. 패키지 사용

 

install.packages('패키지명')으로 패키지 설치

 

library(패키지명)으로 패키지 로드 #따옴표를 앞뒤로 사용하지 않는다

 

install.packages('rstackdeque')
library(rstackdeque)
a <- rdeque()

 

6. 반복문

 

for(i in data){ 반복시킬 문장}

 

num <- seq(1,3)
for(i in num){
a = i+3
print(a)
}
4
5
6

while(조건){조건이 참이면 반복시킬 문장}

 

i <- 0
while(i<3){
i <- i + 1
a <- i + 3
print(a)
}
4
5
6

 

repeat { 반복수행할 문장 }

 

조건문을 이용한 break, next 사용가능

 

next는 continue와 같은 역할로 조건에 맞으면 하위 문장을 건너뛰고 다음 반복을 수행함

 

i <- 0
repeat{
i <- i+1
if(i==7) {break}
print(i)
}
1
2
3
4
5
6

i <- 0
while(i<4){
i <- i+1
if(i==2){next}
print(i)
print(i+5)
}
1
6
3
8
4
9

 

 

7. 조건문

 

if(조건) {조건이 참이면 수행}

else{조건이 거짓이면 수행}

 

i <- 3
if(i>4){
print(i)
}else{print(0)}
0

 

if(조건a) {조건a가 참이면 수행}

else if (조건b) {조건a가 거짓이고 조건 b가 참이면 수행}

else{조건a,b가 거짓이면 수행}

 

i <- 2
if(i>7){
print(2)
}
else if(i>1){
print(1)
}
else{
print(0)
}
1

 

ifelse(조건, 조건이 참이면 return, 조건이 거짓이면 return)

 

i <- 3
ifelse(i==3,1,0)
1

 

반복문이나 조건문이나 기본적으로

 

조건에는 ()을 쓰고 수행할 문장에는 {}

 

명령어 (조건) {조건이 참이면 수행할 문장}

 

8. 사용자함수 정의

 

파이썬의 def 함수이름(인자): (문장) 처럼 function()을 사용하여 함수를 만들 수 있다.

 

함수명 <- function(인자) {함수 문장}

 

함수명(인자)를 이용해 함수 사용 가능

 

그림1. R언어의 함수

 

sum <- function(x,y){
return (x+y)
}
sum(2,3)
5

 

...를 통해 가변인자 함수를 만들 수도 있다

 

summation <- function(x,...){
a <- sum(c(...))
return (x+a)
}
summation(1,2,3,4,5)
15

 

다음과 같이 무의식적으로 만들면 내가 정의한 sum()이라는 함수가 function()안에 사용되어 에러가 발생함

 

sum <- function(x,...){
a <- sum(c(...))
return(x+a)
}
sum(1,2,3,4,5)
error!

9. 참조

 

https://bioinformaticsandme.tistory.com/301

 

[R] Function (사용자 정의 함수)

[R] Function (사용자 정의 함수) Start BioinformaticsAndMe R function : 프로그래밍 언어에서 함수(Function)는 반복적으로 사용될 수 있는 문장 블록의 형태 : R은 여러 내장 함수(Built-In function)을 제..

bioinformaticsandme.tistory.com

 

아래에서 R 코딩 연습 가능

 

https://rstudio.cloud/

 

RStudio Cloud - Do, share, teach, and learn data science

 

rstudio.cloud

 

TAGS.

Comments