Chapter 3 Flow-control
3.1 흐름제어
3.1.1 if문
## [1] "TRUE"
## [1] "3은 10보다 작습니다."
3.1.2 ifelse문
## [1] "짝수" "홀수" "짝수" "홀수" "짝수"
3.1.3 else if문
for(i in 1:4)
{
if(i==1) {print('하나')}
else if(i==2) {print('둘')}
else if(i==3) {print('셋')}
else {print('넷')}
}
## [1] "하나"
## [1] "둘"
## [1] "셋"
## [1] "넷"
3.1.4 연습문제
아래 테이블 과 같은 형태로 데이터 프레임을 만들고 grade 컬럼을 추가하세요
(grade는 200이상일때는 A, 100이상일때는 B, 100미만일때는 C)
## Warning: package 'knitr' was built under R version 4.0.2
no | name | pay | grade |
---|---|---|---|
1 | 김재진 | 110 | B |
2 | 구영후 | 150 | B |
3 | 김반장 | 80 | C |
4 | 지소윤 | 210 | A |
no <- c(1:4)
name <- c("김재진","구영후","김반장","지소윤")
pay <- c(110,150,80,210)
test_table <- data.frame(no,name,pay)
test_table$grade <- ifelse(test_table$pay >= 200, "A" , ifelse(test_table$pay >= 100, "B", "C"))
test_table
## no name pay grade
## 1 1 김재진 110 B
## 2 2 구영후 150 B
## 3 3 김반장 80 C
## 4 4 지소윤 210 A
3.1.5 for문
## [1] 1
## [1] 2
## [1] 3
## [1] 4
## [1] 5
## [1] 6
## [1] 7
## [1] 8
## [1] 9
## [1] 10
3.1.6 while 문
## [1] 0
## [1] 1
## [1] 2
## [1] 3
## [1] 4
## [1] 5
## [1] 6
## [1] 7
## [1] 8
## [1] 9
## [1] 10
3.1.7 while-next 문
짝수만 출력
## [1] 2
## [1] 4
## [1] 6
## [1] 8
## [1] 10
3.2 연산자
나머지 연산
## [1] 1 0 1 1
## [1] 0 3 4 1
부등식/부정
## [1] FALSE TRUE TRUE FALSE
## [1] FALSE TRUE TRUE TRUE
## [1] FALSE
논리 연산
## [1] TRUE TRUE TRUE FALSE
## [1] TRUE
## [1] FALSE FALSE FALSE FALSE
## [1] FALSE
##내장함수 {#ClassID2-11}
## [1] 1.000000 1.414214 1.732051 2.000000 2.236068
## [1] 2.718282 7.389056 20.085537 54.598150 148.413159
## [1] 0.2384058 0.4069842 0.5640743 0.7152175 0.8625604
## [1] -2.0 -1.5 -1.0 -0.5 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0
## [1] -2 -2 -1 -1 0 0 1 1 2 2 3 3 4
## [1] -2 -1 -1 0 0 0 1 1 2 2 3 3 4
## [1] -4
## [1] -1 -2 -3 -4
print: 객체의 값을 화면에 출력
## [1] 5 3 6 2 4
cat: 문자열 및 연산결과를 동시에 출력 화면에 프린트
## mean of a is 4 variance of a is 2.5
substr(x, start, stop): 문자열에서 일부 추출
## [1] "강감" "이순" "계백" "손흥"