首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么当我键入`?mgcv-faq` `而没有``library(Mgcv)‘时,会引用“算术”的手册页?

为什么当我键入`?mgcv-faq` `而没有``library(Mgcv)‘时,会引用“算术”的手册页?
EN

Stack Overflow用户
提问于 2018-07-30 12:33:52
回答 1查看 1.8K关注 0票数 9

当我犯了一个错误的时候我发现了这个。我想得到mgcv.FAQ的手册页,但我

  • 忘记做library(mgcv)
  • ?mgcv-faq放错了。

但是,R奇怪地将我引导到文档页面,就好像我已经做了?Arithmetic一样。

怎么一回事?在完成library(mgcv)之后,现在放置?mgcv-faq会出现一个错误:

代码语言:javascript
复制
#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)

代码语言:javascript
复制
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)

代码语言:javascript
复制
## 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。并在终端中显示手册页。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-30 12:50:40

您可以通过以下方式复制:

代码语言:javascript
复制
expr <- quote(mgcv-faq)
utils:::.helpForCall(expr, parent.frame())

.helpForCall?内部使用此输入调用。

现在,如果表达式不包含:::::调用,则.helpForCall通过以下操作提取要查找的符号

代码语言:javascript
复制
expr[[1L]]
#`-`

而不检查表达式的长度。

-运算符在表达式中是第一位的,因为表达式被解析为函数语法。

这一切为什么要发生?因为?应该能够在其输入中处理:::::,而且没有人想到处理像您这样的用户错误。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51594081

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档