R에서 객체의 내부 구조를 보려면 str() 또는 dput() 함수를 호출한다.

(원형을 보는 것은 Rstudio에서 command + 클릭 하는 것과 동일하다.)


재미있는 것은 str()은 function 아규먼트만 보여주고, dput()은 function 구현체까지 보여준다.

함수 뿐 아니라 값까지도 보여준다. 


또한 string인지 number인지도 보여준다. 



> str(1)

 num 1

> str(1.1)

 num 1.1

> str("1")

 chr "1"

> str(paste)

function (..., sep = " ", collapse = NULL)  

> str(paste("1"))

 chr "1"

> str(load)

function (file, envir = parent.frame(), verbose = FALSE)  

> str(aa)

 num 1

> dput(load)

function (file, envir = parent.frame(), verbose = FALSE) 

{

    if (is.character(file)) {

        con <- gzfile(file)

        on.exit(close(con))

        magic <- readChar(con, 5L, useBytes = TRUE)

        if (!length(magic)) 

            stop("empty (zero-byte) input file")

        if (!grepl("RD[AX]2\n", magic)) {

            if (grepl("RD[ABX][12]\r", magic)) 

                stop("input has been corrupted, with LF replaced by CR")

            warning(sprintf("file %s has magic number '%s'\n", 

                sQuote(basename(file)), gsub("[\n\r]*", "", magic)), 

                "  ", "Use of save versions prior to 2 is deprecated", 

                domain = NA, call. = FALSE)

            return(.Internal(load(file, envir)))

        }

    }

    else if (inherits(file, "connection")) {

        con <- if (inherits(file, "gzfile") || inherits(file, 

            "gzcon")) 

            file

        else gzcon(file)

    }

    else stop("bad 'file' argument")

    if (verbose) 

        cat("Loading objects:\n")

    .Internal(loadFromConn2(con, envir, verbose))

}


> args(load)

function (file, envir = parent.frame(), verbose = FALSE) 

NULL





Posted by '김용환'
,