当我犯了一个错误的时候我发现了这个。我想得到mgcv.FAQ的手册页,但我
library(mgcv);?mgcv-faq放错了。但是,R奇怪地将我引导到文档页面,就好像我已经做了?Arithmetic一样。
怎么一回事?在完成library(mgcv)之后,现在放置?mgcv-faq会出现一个错误:
#Error in eval(argExpr, envir) : object 'mgcv' not found
#Error in .signatureFromCall(fdef, expr, envir, doEval) :
# error in trying to evaluate the expression for argument ‘e1’ (mgcv)有人能解释一下这种行为吗?
sessionInfo()先于library(mgcv)
R version 3.4.4 (2018-03-15)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 16.04.5 LTS
Matrix products: default
BLAS/LAPACK: /usr/lib/libopenblas.so
locale:
[1] LC_CTYPE=en_GB.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_GB.UTF-8 LC_COLLATE=en_GB.UTF-8
[5] LC_MONETARY=en_GB.UTF-8 LC_MESSAGES=en_GB.UTF-8
[7] LC_PAPER=en_GB.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_GB.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] compiler_3.4.4
attached base packages:
[1] stats graphics grDevices utils datasets methods base sessionInfo()后library(mgcv)
## only shows what is different from the above
other attached packages:
[1] mgcv_1.8-24 nlme_3.1-137
loaded via a namespace (and not attached):
[1] compiler_3.4.4 Matrix_1.2-14 tools_3.4.4 grid_3.4.4
[5] lattice_0.20-35我没有Rstudio,所以我在终端机运行R。并在终端中显示手册页。
发布于 2018-07-30 12:50:40
您可以通过以下方式复制:
expr <- quote(mgcv-faq)
utils:::.helpForCall(expr, parent.frame()).helpForCall由?内部使用此输入调用。
现在,如果表达式不包含::或:::调用,则.helpForCall通过以下操作提取要查找的符号
expr[[1L]]
#`-`而不检查表达式的长度。
-运算符在表达式中是第一位的,因为表达式被解析为函数语法。
这一切为什么要发生?因为?应该能够在其输入中处理::和:::,而且没有人想到处理像您这样的用户错误。
https://stackoverflow.com/questions/51594081
复制相似问题