1. 조건 판단문
- if
x <- 10; y <- 5
if(x + y >= 10){
cat("참일 경우 결과 : ",x+y)
}else{
print("거짓일 경우")
}
# mpg dataset 사용 (자동차 연비)
install.packages("ggplot2") # 라이브러리 설치
library(ggplot2) # 라이브러리 프로젝트에 추가
mpg
mpg <- as.data.frame(ggplot2::mpg) # data frame으로 형변환
head(mpg,3)
# manufacturer model displ year cyl trans drv cty hwy fl class
# 1 audi a4 1.8 1999 4 auto(l5) f 18 29 p compact
# 2 audi a4 1.8 1999 4 manual(m5) f 21 29 p compact
# 3 audi a4 2.0 2008 4 manual(m6) f 20 31 p compact
str(mpg)
dim(mpg) # 234 12 - 행수 열수
colnames(mpg) # 행 이름 출력
mpg$total <- (mpg$cyl + mpg$hwy)/2
head(mpg,3)
mean(mpg$total) # 평균
if(mean(mpg$total) >= 20){
print("우수연비")
}else{
print("일반")
}
- ifelse(조건, 참일때 실행값, 거짓일 때 실행값)
mpg$grade <- ifelse(mpg$total >= 30, 'A', ifelse(mpg$total >= 25, 'B',ifelse(mpg$total >= 20, 'C','D')))
head(mpg,3)
mdf[mdf$c1 == 2,] # column 2인 데이터들
subset(mdf, c1==2) # 주어진 조건에 맞는 데이터를 출력
mdf[mdf$c1 == 2 & mdf$c2 =='lee',]
subset(mdf, c1==2 & c2 == 'lee')
mdf$c2 <- ifelse(mdf$c2 == 'lee', NA, mdf$c2) #3항 연산자
# ifelse(조건, 참일때 출력할 값, 거짓일 때 출력할 값)
# 행 추가
mdf$c4 <- c(1,2,3)
# 행 추가
mdfc <- cbind(mdf, c5=c("m","b", "c"))
# 열 추가
mdfr <- rbind(mdf, c(1,"choi"))
# 열 삭제
mdfr[,"c3"] <- NULL
# 행 삭제
mdfr <- mdfr[-1,] # 여집합 이용 1 행 제거
- switch(출력할 index or key, index1의 값, index2의 값, ...)
switch("age",id="hong", age=33, name="tom") #33
a <- 1
switch(a, mean(1:10), sd(1:10)) # mean(1:10) - 5.5
- which
name <- c("kor","eng","mat","kor")
which(name == 'kor') # index 반환 - 1 4
2. 반복문 : for , while, repeat
- for
obj <- 1:10
for (n in obj) {
if(n %% 2 == 0) print(n) # %% : 나머지
}# 짝수
for (n in obj) {
if(n %% 2 == 0)
next # continue
else{
print(n)
}
}# 홀수
- while
i <- 1
while(i < 10){
res = 2 * i
cat(2, '*', i, '=', res,"\n")
i = i + 1
}
i <- 0
while(T){ # TRUE 권장
i = i + 1
print(i)
if(i == 5) break
}
cat('반복문 수행 후 i : ', i) # 5
- repeat
cnt <- 1
repeat{ # while(T)
print(cnt)
cnt = cnt + 2
if(cnt > 10) break
}
'BACK END > R' 카테고리의 다른 글
[R] R 정리 8 - Web Scraping, DB (0) | 2021.01.29 |
---|---|
[R] R 정리 7 - 내장함수, 시각화 (0) | 2021.01.28 |
[R] R 정리 5 - 도수 분포표 (0) | 2021.01.28 |
[R] R 정리 4 - 데이터 입출력 (0) | 2021.01.28 |
[R] R 정리 3 - 자료구조 (0) | 2021.01.27 |