R에서 객체의 내부 구조를 보려면 str() 또는 dput() 함수를 호출한다.
재미있는 것은 str()은 function 아규먼트만 보여주고, dput()은 function 구현체까지 보여준다.
> 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