ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [R] 작업 디렉토리
    R 2020. 10. 31. 01:39

    작업 디렉토리

    작업 디렉토리는 모든 입력 작업과 출력 작업이

    이루어지는 기본 위치이다.

     

    현재 설정된 작업 디렉토리를 확인하기 위해서

    getwd() 함수를 사용한다.

    R에 의해 자동으로 설정된 디렉토리를 볼 수 있다.

    R에서는 back slash(\)가 아닌 slash(/)로 디렉토리를 구분한다.

     

    현재 작업 디렉토리가 제대로 작동하는지 확인하기 위해서

    다음과 같은 코드를 다른 이름으로 저장하자.

    C:/Users/nick1/Documents에 제대로 저장된 것을 볼 수 있다.

     


    source() 함수

    source() 함수는 파일을 읽어서 명령을 실행하는 함수이다.

    아래와 같이 경로를 지정해주지 않고 source(HelloR.R)만 작성하면

    자동으로 작업 디렉터리에서 "HelloR.R" 파일을 찾아서 실행시킨다.

     

    작업 디렉토리 변경하기

    보통은 기본 디렉토리에서 작업하지 않고, 자신이 원하는 디렉토리에서 작업하기 때문에

    작업 디렉토리를 변경할 수 있어야한다.

     

    setwd() 함수를 이용하여 작업 디렉토리를 설정 할 수 있다.

     


    setwd() 함수

    setwd() 함수에 디렉토리 경로를 넣어서 실행하면 새로운 작업 디렉토리가 설정된다.

    아래와 같이 명령어를 입력하면 에러가 발생한다.

     

    왜냐하면 R에서는 back slash(\)가 아닌 slash(/)로 디렉토리를 구분하기 때문이다.

    slash(/)로 고쳐주고, getwd() 함수를 이용하여 작업 디렉토리가 성공적으로 바뀐 것을 볼 수 있다.

     

    상위 디렉토리로 이동하려면 setwd("..")를 입력한다.

    하위 디렉토리로 이동하려면 setwd("해당 디렉토리 이름")을 입력한다.

     

    작업 디렉토리가 바뀌었으므로 Source("HelloR.R")을 실행하여

    아까 만들었던 코드를 실행하려고 하면 오류가 난다.

     


    자동으로 작업 디렉토리 설정하기

    R은 다시 시작하면 '내 문서'가 자동으로 작업 디렉토리로 설정된다.

    R을 다시 시작할 때 마다 작업 디렉토리를 설정하는 것은 매우 귀찮다.

    시작할 때 마다 원하는 작업 디렉토리로 설정되었으면 좋겠다.

     

    먼저 R을 설치한 폴더로 이동한다. 그 후 etc 폴더로 이동한다.

     

    etc 폴더로 이동하면 Rprofile.site라는 파일이 있는데,

    R이 구동될 때 마다 가장 먼저 읽어 들이는 파일 중 하나이다.

    그러므로 필요한 작업들을 Rprofile.site에 저장하면

    R이 시작되면서 저장된 작업들이 미리 시작된다.

     

    Rprofile.site 파일을 메로장으로 연다.

    그 후 작업 디렉토리를 설정하는 setwd() 함수를 Rprofile.site에 입력한 후 저장한다.

     

    경로에 한글이 있으면 오류가 난다. 영어로 수정해주었다.

    R을 새로 시작해도 미리 설정한 작업 디렉토리인 것을 볼 수 있다.

     


    작업 공간(Work Space)

    작업 공간은 R이 시작할 때 만들어지고

    사용자가 작업 중에 생성한 각종 변수와 함수가 저장된다.

    작업 공간은 컴퓨터의 메인 메모리에 저장되기 때문에,

    R을 마치면 작업 공간도 자동으로 소멸된다.

     

    그러므로 현재까지 작업한 내용을 저장하고 싶으면

    별도로 저장하는 추가적인 작업이 필요하다.

     

    예를들어

    a라는 변수에 현재 작업 디렉토리를 반환하는 getwd() 함수를 넣었을 때

    a라는 변수가 작업 공간에 존재하게 된다.

     

    q() 함수를 이용하여 세션을 종료하려고 할 때 작업 공간을 저장할 것인지 물어본다.

    이때 y를 선택하면 .Rdata라는 파일이 생성되는데, 작업 공간의 내용이 여기에 저장된다.

    이 .Rdata는 다음에 R을 구동했을 때 자동으로 읽어 들여 원래와 똑같은 작업 공간을 만들어준다.

     

    save.image() 함수를 사용하면 현재까지의 작업 공간 내용이 .Rdata에 저장되게 된다.

     


    ls() 함수

    현재 작업 공간의 변수들과 함수들을 보려면 ls() 함수를 사용하면 된다.

    Environment 창에서도 현재의 변수와 함수들을 확인할 수 있다.

     

    ls.str() 함수를 이용하면 더 구체적인 정보를 알 수 있다.

     


    rm() 함수

    작업 공간에 너무 많은 변수와 함수가 있고

    이 중 필요 없는 변수나 함수가 있을 때

    rm() 함수를 이용하여 없앨 수 있다.

     

    z를 생성 후 삭제해보자.

    z가 삭제되어 없는 것을 볼 수 있다.

    제거된 변수는 다시 되돌릴 수 없다.

     

    rm()함수는 한꺼번에 여러 개의 변수를 지울 수도 있다.

    x, y가 한꺼번에 지워진 것을 볼 수 있다.

     

    만약 모든 변수와 함수를 지우고 싶을 때

    rm(list=ls()) 함수를 사용하면 전체를 지울 수 있다.

    list에 전체 변수와 함수가 저장되기 때문이다.

    작업 공간에 아무 것도 남지 않은 것을 볼 수 있다.

     


    작업 공간 일부분만 저장하기

    save.image()함수는 .Rdata에 작업 공간 전체를 저장한다.

    일부 데이터만 저장할 때는 save() 함수를 이용한다.

     

    첫번째 인자로는 저장할 변수,

    두번째 인자로는 저장하고자 하는 파일명을 쓴다.

    제대로 저장된 것을 볼 수 있다.

     

    작업 공간에서 hero를 지웠을 때, 다시 불러오고 싶다면

    아까 저장된 파일을 읽어올 수 있다.

     

    Load("hero.rda") 명령어를 입력하면 데이터를 읽어올 수 있다.

     


    History() 함수

    History() 함수를 사용하면 History 창에서 이전 명령어들을 모두 볼 수 있다.

     

    R에서 변수 이름 짓는 법

    - 문자 또는 마침표(.)로 시작한다.

    - 문자, 마침표, 숫자, 밑줄(_)을 사용한다.

    - 사용할 수 없는 키워드

        Break, else, FALSE, for, function,

        if, Inf, NA, NaN, next, NULL, repeat,

        return, TRUE, while 등

    - 대문자와 소문자를 구분한다.

     


    유튜브의 내용을 정리했다.

    youtu.be/zs0Ih8WImbo

    'R' 카테고리의 다른 글

    [R] 벡터 연산  (1) 2020.10.31
    [R] 벡터 생성  (1) 2020.10.31
    [R] 데이터 구조  (1) 2020.10.31
    [R] 패키지  (1) 2020.10.31

    댓글

Designed by Tistory.