最直接的方法当然是直接键入函数,大部分函数源代码就可以直接显现出来 > fivenum
function (x, na.rm = TRUE)
{
xna <- is.na(x)
if (na.rm)
x <- x[!xna]
else if (any(xna))
return(rep.int(NA, 5))
x <- sort(x)
n <- length(x)
if (n == 0)
rep.int(NA, 5)
else {
n4 <- floor((n + 3)/2)/2
d <- c(1, n4, (n + 1)/2, n + 1 - n4, n)
0.5 * (x[floor(d)] + x[ceiling(d)])
}
}
<bytecode: 0x01f32270>
<environment: namespace:stats> 还有些函数直接键入出不来源代码,主要是因为R是面向对象设计的程序语言,不同的对象,计算方式也不同,所以要通过methods()来进一步定义具体的查看对象
> mean
function (x, ...)
UseMethod("mean")
<bytecode: 0x019a54e4>
<environment: namespace:base>
不行,用methods查看 > methods(mean)
[1] mean.data.frame mean.Date mean.default mean.difftime
[5] mean.POSIXct mean.POSIXlt 任意选择一个进行查看
> mean.data.frame
function (x, ...)
{
msg <- "mean(<data.frame>) is deprecated.\n Use colMeans() or sapply(*, mean) instead."
warning(paste(msg, collapse = ""), call. = FALSE, domain = NA)
sapply(X = x, FUN = mean, ...)
}
<bytecode: 0x0260c92c>
<environment: namespace:base> 但有的函数如var.test(): > methods(var.test) [1] var.test.default* var.test.formula* Non-visible functions are asterisked 会出现末尾带*号的函数,这种该如何查看源代码?请高手赐教
|