코딩테스트를 위한 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(인자) {함수 문장}
함수명(인자)를 이용해 함수 사용 가능
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 코딩 연습 가능
'프로그래밍 > R 프로그래밍' 카테고리의 다른 글
데이터분석 전문가(ADP)를 위한 R프로그래밍 기초편5 (0) | 2022.02.08 |
---|---|
데이터분석 전문가(ADP)를 위한 R프로그래밍 기초편4 (0) | 2022.02.06 |
데이터분석 전문가(ADP)를 위한 R프로그래밍 기초편3 (0) | 2022.02.05 |
데이터분석 전문가(ADP)를 위한 R프로그래밍 기초편2 (0) | 2022.01.31 |
데이터분석 전문가(ADP)를 위한 R프로그래밍 기초편1 (0) | 2022.01.31 |