-
연습문제 - 함수만들기 while, if, for 문기타/R(아르) 2021. 2. 18. 09:55
사용자 정의 함수 만들기
my_fun = function(a,b){ return (a+b) //리턴시킬 값은 반드시 ()로 둘러싸야한다 }
my_fun2 = function(a,b){ a+b }
조건문 만들기
뭘먹을까 <- function(money){ if(money >=10000){ print("갈비탕 먹고 라떼먹자") }else{ print("김밥먹고 커피믹스 마시자") } }
뭘먹을까(12000) "갈비탕 먹고 라떼먹자"
ifelse 조건문 => 자바의 3항 연산자랑 비슷 (조건)? 참:거짓
my_fun4 <- function(n){ return (ifelse (n %% 3 == 0,n^2, 0)) }
if / else if / else
tail="" grade="" mygrade = function(score){ if(score >= 90){ grade = "a" }else if(score >= 80){ grade = "b" }else if(score >= 70){ grade = "c" } else if(score >= 60){ grade = "d" }else { grade = "f" } if(score %% 10 >=5 && score >=60){ tail ="+" }else if (score < 60){ tail = "" }else { tail = "0" } return (paste(grade,tail)) }
연습문제
-가 나오지 않는 수식 (if문 사용)
do_help <- function(x,y){ if (x < y){ return (y-x) }else{ return (x-y) } }
혹은 (삼항연산자 사용)
do_help2 <- function(x,y){ return(ifelse(x<y , y-x, x-y)) }
결과는 둘다 같다
> do_help(3,2) [1] 1 > do_help(2,4) [1] 2
조건에 따른 문구
travel2 <- function(a){ if(a=="봄" || a=="가을"){ cat(a,"여행이 최고죠") }else { print("내년 봄이나 가을에 여행가세요") } }
while 루프문
hab = function(a,b){ sum = 0 n = a while (TRUE){ sum = sum+n n = n+1 if(n == b){ sum = sum+n break }else{ next } } return(sum) } hab(1,100) 결과 5050
과자 <- c("새우깡", "맛동산", "자갈치", "칸초", "허니버터칩") cnt <- 0 while(cnt < length(과자)){ cnt = cnt+1 cat("내사랑",과자[cnt],"\n") }
내사랑 새우깡
내사랑 맛동산
내사랑 자갈치
내사랑 칸초
내사랑 허니버터칩
for문
gugudan = function(a){ #변수 in 반복시작 값: 반복 종료값 #1:9 1~9까지 for(i in 1:9){ cat(a, "*", i, "=", (a*i), "\n") } } gugudan(99)
99 * 1 = 99
99 * 2 = 198
99 * 3 = 297
99 * 4 = 396
99 * 5 = 495
99 * 6 = 594
99 * 7 = 693
99 * 8 = 792
99 * 9 = 891
연습문제들
for (i in 1:length(과자)){ cat("내사랑",과자[i], "\n") }
내사랑 새우깡
내사랑 맛동산
내사랑 자갈치
내사랑 칸초
내사랑 허니버터칩for (i in 1:length(과자)){ if(과자[i] == "맛동산" || 과자[i] == "자갈치"){ cat(과자[i],"너 미워!", "\n") }else{ cat(과자[i],"너 좋아!", "\n") } }
새우깡 너 좋아!
맛동산 너 미워!
자갈치 너 미워!
칸초 너 좋아!
허니버터칩 너 좋아!for4 <- function(x){ for(i in 1:x){ i = i*10 cat(i,"번 앞으로 나오세요! \n") } } for4(3)
10 번 앞으로 나오세요!
20 번 앞으로 나오세요!
30 번 앞으로 나오세요!setwd("c://Temp") veg<-readLines("채소.txt", encoding="UTF-8") veg x<-0 for(i in 1:length(veg)){ cat(veg[i], "좋아요 \n") }
감자 좋아요
고구마 좋아요
버섯 좋아요
당근 좋아요
양배추 좋아요'기타 > R(아르)' 카테고리의 다른 글
다양한 정형데이터 분석 기법들 (0) 2021.02.19 연습문제2 다양한 자료 불러오기 (0) 2021.02.17 연습문제 정리1 (0) 2021.02.16