从RStudio中的.rnw文件编译PDF会在函数getSymbols()中出错

时间:2018-01-03 17:58:52

标签: pdf rstudio quantmod sweave pdflatex

我正在尝试编译一个.Rnw文件而我在输出pdf中遇到错误,问题是如果我在RStudio中执行所有代码块一个接一个地工作完美,但是当我尝试编译时pdf输出pdf中打印错误。

## Error in getSymbols("FB", scr = "yahoo", from = "2015-01-01", to = "2015-12-31"): Could not find function getSymbols()

在我的文档中,在我使用函数getSymbols()的块之前,我有一个require(quantmod),它没有给出任何错误。事实上,如前所述,如果我逐个执行每个块,它就可以工作。

我在这里向您提供Sys.which('pdflatex')sessionInfo()的输出以获取更多信息。

> Sys.which('pdflatex')
           pdflatex 
"/usr/bin/pdflatex" 
> sessionInfo()
R version 3.4.3 (2017-11-30)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 16.04.3 LTS

Matrix products: default
BLAS: /usr/lib/libblas/libblas.so.3.6.0
LAPACK: /usr/lib/lapack/liblapack.so.3.6.0

locale:
 [1] LC_CTYPE=es_ES.UTF-8       LC_NUMERIC=C               LC_TIME=es_ES.UTF-8        LC_COLLATE=es_ES.UTF-8    
 [5] LC_MONETARY=es_ES.UTF-8    LC_MESSAGES=es_ES.UTF-8    LC_PAPER=es_ES.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C             LC_MEASUREMENT=es_ES.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] xtable_1.8-2    ggplot2_2.2.1   dplyr_0.7.4     quantmod_0.4-12 TTR_0.23-2      xts_0.10-1     
[7] zoo_1.8-0      

loaded via a namespace (and not attached):
 [1] Rcpp_0.12.14     bindr_0.1        magrittr_1.5     munsell_0.4.3    colorspace_1.3-2 lattice_0.20-35 
 [7] R6_2.2.2         rlang_0.1.6      plyr_1.8.4       tools_3.4.3      grid_3.4.3       gtable_0.2.0    
[13] lazyeval_0.2.1   assertthat_0.2.0 tibble_1.4.1     bindrcpp_0.2     curl_3.1         glue_1.2.0      
[19] labeling_0.3     compiler_3.4.3   pillar_1.0.1     scales_0.5.0     pkgconfig_2.0.1 

希望你能帮助我!!

1 个答案:

答案 0 :(得分:0)

require(quantmod)如果无法加载FALSE,则会返回quantmod,但不会生成错误。如果您想查看错误,请使用library(quantmod)

问题的最可能原因是RStudio正在使用与处理文档的子会话不同的包库。您可以通过在RStudio中的控制台中和文档的早期块中打印.libPaths()的结果来诊断这一点,并查看差异是什么。文档中的sessionInfo()将告诉您它是否运行不同的R版本。

顺便说一句,这可能只是你问题中的一个拼写错误,但getSymbols参数是src,而不是scr