기본 콘텐츠로 건너뛰기

R_lessson 1

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" 함수가 함수에 대한 예제를 찾는것 이므로
    () 안에는 오직 함수만 들어간다 . 따라서 "save" 이렇게 할 필요가 없다 문자열에 대해서     만 필요, 하지만 "" 를 해줘도 상관없이 동일한 결과가 나오긴 한다.

2-4 help(package="BH") # 패키지 설명보기

> help(package="BH")

2-5 install.packages("") # 패키지 설치하기

2-6 update.packages("패키지명") #패키지 업데이트

2-7 ? 함수에 대한 도움말 검색.

> ?install.packages  #help

3. 패키지 업데이트 및 설치

3-1 install.packages("mlbench",dependencies=TRUE) #dependencies=TRUE관련된 패키지 모두 설치해줌.

3-2 update.packages("plyr",ask=TRUE) #ask=T 이 옵션은 가능한 업데이트 목록중 선택하게 해준다.
             

4. 기초 함수.

> q()           # 프로그램 종료.
> ls()           # ls() 현재 작업공간에 존재하는 객체보기.
> rm()         #데이터 제거.
> args(save)    #인자보기. ?save 를 하면 인자들을 볼수 있기때문에 잘 활용 않한다.
>>rm(ls()) 이렇게 하면 현재 작업공간에 존재하는 객체들의 이름이 rm함수 안에 들어가게 되고 모두다 제거된다.

> library("mlbench")
> data("Ozone")
>> "iris"같은 대표적 데이터는 기본 R 패키지에 포함되어 있으므로 iris 만 치면 바로 출력이 되지만 
각 패키지 마다 포함하고 있는 데이터셋이 필요한 경우에는 library로 먼저 불러온 후에 data("패키지에 포함된 데이터") 를 통해서 불러온다
data(), 함수를 통해서 불러오면 R studio 에서 오른쪽편에 추가 된다 iris 같은 기본 으로 포함된 데이터는 iris 를 입력하여도 추가되지 않는다 필요하다면 
iris=iris 를 통해 활용하면 된다.

5. 정리

> ""를 붙여야 하는지 말아야 하는지 애매한 경우에는 붙이나 안붙이나 대부분 똑같은 결과이지만
""를 붙여야만 컴퓨터가 알아들을것 같다면 붙여주자. 
""붙여서 되면 되는거고 안붙여도 되는거면 되는거다. 
수학처럼 완전하게 논리적으로 완벽한것이 아니라 편의에 따라 개발된 R 이기 때문에 이런것들은 
해보면서 그때 마다 이해 하는것이 더 빠르다.


6. 알아두면 유용한 함수

1. list.files()
> list.files() #결과.
 [1] "desktop.ini"                 
 [2] "Fax"                         
 [3] "My Music"                    
 [4] "My Pictures"                 
 [5] "My Videos"                   
 [6] "R"                           
 [7] "Scanned Documents"           
 [8] "내 데이터 원본"              
 [9] "사용자 지정 Office 서식 파일"
[10] "카카오톡 받은 파일"  

>위 결과와 같이 현재 디렉토리"getwd()"로 알수 있음 에 있는 폴더 및 파일을 알려준다
> 나중에 for 문을 활용해서 폴더 안에 있는 파일의 이름을 자동적으로 불러온 다음 인덱싱 방법을 통해서 자동적인 분석을 할 필요가 생기면 유용하다
> 흔한 경우는 아니므로 궁금하다면 알려드리겠습니다.




댓글

이 블로그의 인기 게시물

t-test

t-test의 유형 t-test는 비교의 대상이 되는 두개의 그룹이 무엇인지에 따라 크게 세가지 유형으로 구분할 수 있습니다. A. 독립 표본 t-test: 서로 다른 두개의 그룹 간의 평균 비교 (예: 남자와 여자 간 소득의 차이 비교) B. 대응 표본 t-test : 하나의 집단에 대한 비교 (예: 과외를 하기 전과 후의 반 학생들의 성적 변화) C. 단일 표본 t-test : 특정 집단의 평균이 어떤 숫자와 같은지 다른지를 비교 t-test의 가정확인. 1.두개의 집단에 대한 t-test를 실시하기 위해서는 등분산성, 정규성이 만족되어야 합니다. 2.정규성의 경우 일반적으로 관측 갯수가 30개 이상일때 만족한다고 판단할 수 있습니다. 3. 등분산성을 확인하기 위해서는 var.test라는 함수를 사용하면 됩니다. 3-1 등분산성 확인 코드 a = c ( 175 , 168 , 168 , 190 , 156 , 181 , 182 , 175 , 174 , 179 ) b = c ( 185 , 169 , 173 , 173 , 188 , 186 , 175 , 174 , 179 , 180 ) var . test ( a , b ) F test to compare two variances data : a and b F = 2.1028 , num df = 9 , denom df = 9 , p - value = 0.2834 alternative hypothesis : true ratio of variances is not equal to 1 95 percent confidence interval : 0.5223017 8.4657950 sample estimates : ratio of variances 2.102784 >p-value가 0.05보다 작은 경우 두 집단의 분산은 유의미하게 ...

유닛 테스팅 in R

# 유닛 테스팅 : 코드의 일반적인 사용 상황과 특이한 사용 상황을 테스트하기 위함.#### # 모든 코드를 항상 유닛 테스트로 확인 할 수는 없음. # 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...