Home R Programming 7주차
Post
Cancel

R Programming 7주차

월요일

function

  • function
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
      # 함수 정의 방식 1
      googoo81 <- function(x){
        cat("\n")
        for (i in 1:9) {
          cat(x," * ",i," = ",x*i,"\n")
        }
        cat("\n")
      }
    
      # 함수 정의 방식 2
      wd_count = function(x, sep=" ") {
        temp = gsub("[(),.?!/]",sep,x)
        temp = unlist(strsplit(temp,sep))
        xrm = c("","a","an","the")
        temp = temp[!(temp %in% xrm)] # temp[temp!=""]
        return(table(tolower(temp)))
      }
    

    R에서 사용자 정의 함수를 작성할 수 있다. 함수 정의 방식은 일반적으로 2가지이다.
    function_name <- function() {}function_name = function() {}이다.
    일반적으로 함수의 parameter안에 들어가는 값은 default값을 지정해 줄 수 있다. 단, default가 없을 경우 에러코드가 함수 실행 시에 발생한다.
    함수에 return값을 설정해주는 방식으로 보통 많이 활용한다. 하지만 R에서의 사용자 지정 함수는 함수에서 기록한 마지막 값을 자동으로 반환해준다.

변수

  • 변수
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    
      a <- c(1,3,5,6)
    
      mean.k <- function(x,k)
        return(mean(x^k))
      mean.k(a,2)
    
      mean.k2 <- function(x, k = 3)
        return(mean(x^k))
      mean.k2(a,2); mean.k2(a)
    
      noact <- function(x, type = 1) {
        if(type == 1) a[1] <- 3
        if(type == 2) a[1] <<- 3
        return(a)
      }
    
    • 변수는 일반적으로 2가지로 나눠진다. 지역변수와 전역변수. 지역변수의 지역변수와 전역변수의 차이는 Life cycle에 달려있다.
      함수에 선언된 변수는 지역변수로 설정이 된다. 즉 해당함수가 종료되는 동시에 메모리에서 해제가 된다. 하지만 함수가 아닌 곳에 선언된 변수는 전역변수가 된다. 그 결과 전체 프로그램이 종료될 때까지 변수는 메모리에서 해제되지 않는다.
    • 전역 변수를 설정하고 싶다면 다음과 같은 기호를 써주면된다.
      a[1] <<- 3으로 작성해주면 지역변수가 설정되는 함수 내부에서도 외부의 전연변수 값을 변경할 수 있다.
This post is licensed under CC BY 4.0 by the author.

R Programming 6주차

R Programming 9주차

Comments powered by Disqus.