# 유닛 테스팅 : 코드의 일반적인 사용 상황과 특이한 사용 상황을 테스트하기 위함.#### # 모든 코드를 항상 유닛 테스트로 확인 할 수는 없음. # install.packages("testthat") library(testthat) a=1:3 b=1:3 names(a)=c('a','b','c') > a a b c 1 2 3 > b [1] 1 2 3 #expect_equal(object, expected) 오브젝트가 기대되는 값 익스펙티드와 동일한가 #두 객체가 (거의)같은지를 비교, 부동 소수의 경우 매우 작은 값 이하로 차이나는 두 값은 같은 값으로 취급 expect_equal(a,b) # 벡터에 부여한 이름이 다르므로 실패 #expect_equivalent() #equal 과 달리 속성값만 expect_equivalent(a,b) # 벡터에 부여한 이름을 무시하므로 테스트 성공 #두 객체가 동일 하다는 말 #expect_equal을 피보나치 수열을 이용해 예를 들어보자 fib=function(n){ if(n==0){ return(1) } if (n>0) { return(fib(n-1)+fib(n-2)) } } #expect_equal이용해 fib(0)=1인지 확인 expect_equal(1,fib(0)) #무반응(무반응은 정상 이라는 말) expect_equal(1,fib(1)) #오류메세지 반환. 결과>> #이렇게 에러 메세지가 발생했다면 이에 따라 fib()함수를 올바르게 수정해나가면 된다. #test_that을 사용한 테스트 그룹화#### #그룹화란 test_that 함수를 통해 expect 문장들을 묶어서 실행할 수 있다. test_that("base case",{ expect_equal(1,fib(0)) expect_equa
R 기초 Tip 1. 디렉토리(작업공간) 설정 및 확인 1-1 작업공간 확인 > getwd() #함수 [1] "C:/Users/ysjjh/Documents" #결과 1-2 작업공간 설정 > setwd("C:/Users/ysjjh/Desktop") #함수 > setwd() 함수 적용 후 getwd()를 통해서 제대로 변경 되었는지 확인. #결과 ※ 주의할 점 1. R에서 주소를 적어줄 때에는 "/" 하나로 구분해 주어야 한다. > "C:/Users/ysjjh/Documents" 2. "\"(역슬래쉬)로 구분해줄 때에는 "\\"를 통해서 구분해 주어야 한다. > "C:\\Users\\ysjjh\\Documents" 3. 아래 사진과 같이 보통 파일탐색기에서 주소를 간편하게 긁어 오는데 "\" 하나로 되어 있는 것을 알 수 있다 그래서 저렇게 복사해 올때는 "\"를 하나 더 붙여주어야 한다. 클릭하면 확대. 2. R 도움말 얻는 함수 2-1 help.start() > help.start() #함수 > 다음과 같은 메뉴얼이 등장한다. 2-2 help.search()와 ??은 동일. > help.search("table") #함수 #"table"은 예시. > "table"이 포함된 메뉴얼을 찾아준다. ※ ??table 과 같이 "??"도 동일한 기능이다. 2-3 example(save) #예제보기 > example(save) #save함수에 관한 예제를 찾아준다. ※ ()안에 ""를 사용하지 않은 이유는 "example&