SW/R

R : if문 (개념 및 예제)

얇은생각 2019. 2. 16. 12:30
반응형

R 프로그래밍


R은 데이터 분석 도구입니다. 그러나 동시에 프로그래밍 언어의 성격도 포함하고 있습니다. R프로그래밍 기본 문법을 알고 활용할 수 있어야 합니다. 그래야 다른 사람의 분석 코드도 이해할 수 있습니다. 그렇다면 프로그래밍은 무엇일까요? 주어진 문제를 컴퓨터가 해결할 수 있도록 절차를 문법에 맞추어 써내려가는 과정을 뜻합니다. R에서 제공하는 함수만으로는 분석의 한계가 있습니다. 그 경우 프로그래밍을 활용하여 문제를 해결할 수 있습니다.



if 문


if (logical expression) {
statements
}
else {
alternative statements
}


먼저 if문에 대해 배워보겠습니다. 위에 서술된 구문은 if문의 기본 형태입니다. 만약 logical expression이 참일 때는 statements 문이 실행됩니다. 반대로 거짓일때는 alternative statements가 실행됩니다.



a <- 10
b <- 20
if (a>5 & b>5){ # and
print (a+b)
}
# 30

if (a>5 | b>30){ # or
print (a*b)
}
# 200


위 예제는 and와 or의 조건을 활용한 예제입니다. &는 두 조건문이 만족했을 때 참을 의미합니다. |는 두 조건문 중 하나만 만족하면 참입니다.



if else 문


a <- 10
if (a>5){
print (a)
} else {
print (a*10)
print (a/10)
}
# 10


위 예제를 실행시키면 10이 출력됩니다. 그 이유는 a는 5보다 크기 때문입니다. 만약 5보다 작다면 else문이 실행됩니다.



a <- 10
b <- 20
ifelse (a>b, c<-a, c<-b)
# 20
c
# 20


ifelse 문이 이해가 되시나요? 만약 a>b 가 참이면 c는 a가 됩니다. 만약 거짓이면 c는 b가 됩니다. 위 조건문을 활용하면 코드를 줄일 수 있겠죠? 



a <- 10
b <- 20
if (a > b) {
c <- a
} else {
c <- b
}
c
# 20


느낌이 오시나요? 이 코드는 바로 위에 설명했던 코드와 동일한 동작을 합니다. 같은 동작이어도 코드는 달라질 수 있습니다.

반응형

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

R : 사용자 정의 함수 (개념 및 예제)  (0) 2019.02.18
R : 반복문 for (개념 및 예제)  (2) 2019.02.17
R : 데이터 분석 사례 (개념 및 예제)  (0) 2019.02.15
R : 선그래프 (개념 및 예제)  (0) 2019.02.14
R : 상관분석  (0) 2019.02.13