plot.ACF 是否已从 NLME 的前端移除?还是我不小心更改了某些设置?
Was plot.ACF removed from the front end of NLME? Or did I change some setting on accident?
我正在使用 R 分析线性混合效应模型 (nlme::lme)。我想在 alpha 级别用虚线绘制 ACF 值(如 plot.ACF 那样)。
我require(nlme)
之后,我可以运行 ACF了,但是plot.ACF还是不行。我可以通过 nlme:::plot.ACF
访问它,这意味着它被指定为隐藏功能。软件包的这个功能是否出于某种原因被搁置了?如果不是,还有其他可能的解释吗?有谁知道我可以让包导出它的方法(即使在更新之后)?
是的,对nlme
包的前端是隐藏的(即不导出);不知道有没有变化。
> nlme::plot.ACF
Error: 'plot.ACF' is not an exported object from 'namespace:nlme'
但是,您可以使用 ?plot.ACF
访问它的帮助,其中演示了以下用法:
## S3 method for class 'ACF'
plot(x, alpha, xlab, ylab, grid, ...)
请注意,它并不是建议使用 plot.ACF
,而是建议使用 plot
。这是可行的,因为 plot
函数是面向对象的,因此只要在 ACF
对象上调用 plot
时,就会在幕后调用 plot.ACF
。
也就是说,要绘制一个 ACF
对象,您应该只键入 plot
,而不是 plot.ACF
。
据我所知,plot.ACF 函数从未导出过。我可以通过 NAMESPACE 文件找到的来自 https://cran.r-project.org/src/contrib/Archive/nlme/ 的最早版本的 nlme 是 nlme_3.1-40(日期:2003-05-16),并且该函数本来是不可见的(在控制台中).它仍然可以通过 methods
函数访问,并且代码可以通过三点机制 (:::
) 或 getAnywhere
函数访问。
getAnywhere("plot.ACF") Retruns formal parameters, funciton body and information about functions environment
getS3method("plot", "ACF") # returns same code as getAnywhere
x <- methods(class="ACF")
str(x)
#--------------
'MethodsFunction' chr "plot.ACF"
- attr(*, "info")='data.frame': 1 obs. of 4 variables:
..$ visible: logi FALSE
..$ from : Factor w/ 1 level "registered S3method": 1
..$ generic: chr "plot"
..$ isS4 : logi FALSE
- attr(*, "byclass")= logi TRUE
我为我之前有点刻薄的评论道歉,因为在重新阅读您的 post 时,您似乎确实明白这些功能是可用的,只是不可见。仍然不清楚的是为什么你认为它是可见的。
如果要 plot.ACF 导出,可以将其添加到 NAMESPACE 文件中的导出函数列表中并重建包。或者您可以使用以下方式即时导出:
plot.ACF <- getAnywhere("plot.ACF")
我正在使用 R 分析线性混合效应模型 (nlme::lme)。我想在 alpha 级别用虚线绘制 ACF 值(如 plot.ACF 那样)。
我require(nlme)
之后,我可以运行 ACF了,但是plot.ACF还是不行。我可以通过 nlme:::plot.ACF
访问它,这意味着它被指定为隐藏功能。软件包的这个功能是否出于某种原因被搁置了?如果不是,还有其他可能的解释吗?有谁知道我可以让包导出它的方法(即使在更新之后)?
是的,对nlme
包的前端是隐藏的(即不导出);不知道有没有变化。
> nlme::plot.ACF
Error: 'plot.ACF' is not an exported object from 'namespace:nlme'
但是,您可以使用 ?plot.ACF
访问它的帮助,其中演示了以下用法:
## S3 method for class 'ACF' plot(x, alpha, xlab, ylab, grid, ...)
请注意,它并不是建议使用 plot.ACF
,而是建议使用 plot
。这是可行的,因为 plot
函数是面向对象的,因此只要在 ACF
对象上调用 plot
时,就会在幕后调用 plot.ACF
。
也就是说,要绘制一个 ACF
对象,您应该只键入 plot
,而不是 plot.ACF
。
据我所知,plot.ACF 函数从未导出过。我可以通过 NAMESPACE 文件找到的来自 https://cran.r-project.org/src/contrib/Archive/nlme/ 的最早版本的 nlme 是 nlme_3.1-40(日期:2003-05-16),并且该函数本来是不可见的(在控制台中).它仍然可以通过 methods
函数访问,并且代码可以通过三点机制 (:::
) 或 getAnywhere
函数访问。
getAnywhere("plot.ACF") Retruns formal parameters, funciton body and information about functions environment
getS3method("plot", "ACF") # returns same code as getAnywhere
x <- methods(class="ACF")
str(x)
#--------------
'MethodsFunction' chr "plot.ACF"
- attr(*, "info")='data.frame': 1 obs. of 4 variables:
..$ visible: logi FALSE
..$ from : Factor w/ 1 level "registered S3method": 1
..$ generic: chr "plot"
..$ isS4 : logi FALSE
- attr(*, "byclass")= logi TRUE
我为我之前有点刻薄的评论道歉,因为在重新阅读您的 post 时,您似乎确实明白这些功能是可用的,只是不可见。仍然不清楚的是为什么你认为它是可见的。
如果要 plot.ACF 导出,可以将其添加到 NAMESPACE 文件中的导出函数列表中并重建包。或者您可以使用以下方式即时导出:
plot.ACF <- getAnywhere("plot.ACF")