Home R Programming 4주차
Post
Cancel

R Programming 4주차

월요일

paste

  • paste
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
      myname <- "Jason Bourne"
      paste("My name is", myname, sep=" ")
      file_id = 1533
      paste("Dataset_",file_id,".txt", sep="")
    
      paste("A","B",collapse = '/')
      paste(c("A","B"), collapse = '/')
      paste(c("A","B"), 1:2, collapse = '/')
      paste(c("A","B"), 1:2, sep='?', collapse = '/')
    

    paste함수의 기본 구분자는 스페이스바 공백으로 되어있다. 여러가지 인수들을 하나의 문자열로 이어붙이는데, 이때 인수 구분을 sep에 설정한 구분자로 붙여준다. collapse 옵션은 벡터로서 문자열을 합칠 때 적용되는 문자열이다. 7번째 코드를 보면 paste(c("A","B"), 1:2, collapse = '/')라고 적혀있다. 이 코드의 출력값은 A 1/B 2이다.

문자열 분석

  • 문자열 분석
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
      test <- c("abcdefg", "AFFY1245820")
      nchar(test)
      f_name <- "AFFY1245820"
      substr(f_name,5,nchar(f_name))
      y = c("ax_1234", "ax_3456")
      substr(y,4,7)
    
      strtrim("ABCDEF",3)
      strtrim(rep("abcdef",3), c(1,4,10))
    
      x <- c(as = "asfef", qu = "qwerty", "yuiop[", "b", "stuff.blah.yech")
      strsplit(x, "e")
      strsplit(x, "[a-e]")
      strsplit(x, "[aleu]")
      unlist(strsplit("a.b.c", "."))
      unlist(strsplit("a.b.c", "[.]"))
      unlist(strsplit("a.b.c", ".", fixed = TRUE))
    

    간단한 문자열 분석 함수들이다.

    • nchar는 해당 문자열의 갯수를 반환해준다.
    • substr은 문자열의 일부분을 추출하는 함수이다. 시작위치와 마지막위치를 반환해주면 해당 길이만큼 추출해준다. 일반적으로 공통적인 파일이름을 가지고 넘버링만 다른 경우에서 넘버링을 추출하거나 할 때 사용한다.
    • strtrim은 문자열을 잘라내는 역할을 한다. 언뜻보면 substr과 비슷하다고 느낄 수 있다. 하지만 strtrim은 특정 위치를 잘라내는게 아닌 앞에서 부터 잘라낸다.
    • strsplit은 가장 많이 쓰는 문자열 분석 함수이다. 특정 문자열을 정규 표현식을 기준으로 자르게 된다. 이때 반환 값은 리스트 형태로 반환하게 된다. 일반적으로 strsplit에는 3개의 인수를 건드린다. split, fixed, perl을 건드린다.
      1. 이때 3개 모두 FALSE인 경우는 default로 Extended regular expression(확장 정규 표현식)을 사용한다. 확장 정규 표현식이란 일반적으로 Front-End에서 사용하는 정규표현식을 말한다.
      2. fixed가 TRUE인 경우는 문자표현 그대로 사용한다.
      3. perl이 TRUE인 경우에는 perl-like regular expression을 이용한다.

목요일

경로 설정

  • 경로 설정
    1
    2
    3
    4
    5
    6
    7
    
      getwd()
      setwd('Documents')
      getwd()
      dir.create("example2")
      getwd()
      unlink("example2",recursive = T)
      dir()
    

    일반적으로 통계 데이터를 분석할 때는 대규모 파일을 사용하는 경우가 많다. csv파일, xlsx파일들로부터 데이터를 가져온다. 이때, 해당경로로 이동을 해야한다. 그 때 사용하는 명령어들이다.

    • getwd()는 현재 경로를 반환해준다.
    • setwd(경로)는 해당 경로로 이동을 하게 해준다.
    • dir.create(경로)는 directory create로, 현재 경로에 특정이름의 폴더를 만든다.
    • 폴더를 지울 때는 unlink로 해당 폴더를 지운다. 내부 파일이 있는 폴더를 지울 때는 반드시 recursive를 TRUE로 해준다.

현재 작업 폴더 관련 함수

  • 현재 작업 폴더 관련 함수
    1
    2
    3
    4
    5
    6
    7
    8
    
      test = dir("/Users/kibeompark/Documents")
      test
      t1=grep("^[A-Ca-c][a-z]",test)
      t1
      t2=grep("[.]pkg$",test,value=T)
      t2
      t3=grep("^[BbCc].+pkg$",test,value=T)
      t3
    

    이제 작업 폴더에 무슨 파일이 있는 지 확인하고 찾을 수 있다.

    • 우선 dir을 통해서 특정 경로의 파일 이름들을 문자열 벡터로 변환을 해준다.
    • grep를 통해서 특정 정규표현식에 매칭되는 파일의 인덱스 위치를 반환해준다. 예제 코드는 A-C,a-c로 시작하고 a-z가 들어간 파일들을 찾는다.
    • 5번째, 7번째 코드처럼 작성을 하면 특정 확장자 파일을 찾을 수 있다.
This post is licensed under CC BY 4.0 by the author.

R Programming 3주차

R Programming 5주차

Comments powered by Disqus.