Markdown中的rChart由于Pandoc

时间:2015-11-24 16:39:09

标签: r r-markdown pandoc rcharts

我正在尝试使用rCharts库嵌入一个简单的散点图,但它不起作用。继我在几个SO问题上找到的答案之后,我想出了这个代码:

``` {r, results = "asis", comment = NA}
library(rCharts)
p <- rPlot(mpg ~ wt, data = mtcars, type = "point")
p$print("chart", include_assets = TRUE)
```

然而,当我编织降价文档时,我收到此错误:

pandoc.exe: Could not fetch C:/Playground/R-3.2.2/library/rCharts/libraries/polycharts/js/polychart2.standalone.js
InvalidUrlException "C:/Playground/R-3.2.2/library/rCharts/libraries/polycharts/js/polychart2.standalone.js" "Invalid scheme"
Error: pandoc document conversion failed with error 67

Google搜索此错误表明Pandoc似乎存在绝对路径问题。一些建议是更新RStudio和使用相对路径。前者不是解决方案,因为我是最新的,而后者不是解决方案,因为文件路径是由函数指定的,而不是由我指定。

那么,我的问题是,是否还有其他解决方案可以让它发挥作用?

这是我的会话信息:

Session info ----------------------------------------------------------------------------------------------------------------------------
 setting  value                       
 version  R version 3.2.2 (2015-08-14)
 system   x86_64, mingw32             
 ui       RStudio (0.99.441)          
 language (EN)                        
 collate  English_United States.1252  
 tz       America/New_York            
 date     2015-11-24                  

Packages --------------------------------------------------------------------------------------------------------------------------------
 package    * version    date       source                                            
 devtools     1.9.1      2015-09-11 CRAN (R 3.2.2)                                     
 gtable       0.1.2      2012-12-05 CRAN (R 3.2.2)                   
 htmltools    0.2.6      2014-09-08 CRAN (R 3.2.2)                   
 httr         1.0.0      2015-06-25 CRAN (R 3.2.2)                                     
 R6           2.1.1      2015-08-19 CRAN (R 3.2.2)                   
 rCharts    * 0.4.5      2015-10-26 Github (ramnathv/rCharts@389e214)                  
 rmarkdown  * 0.8.1      2015-10-10 CRAN (R 3.2.2)                     
 whisker      0.3-2      2013-04-28 CRAN (R 3.2.2)                   
 yaml         2.1.13     2014-06-12 CRAN (R 3.2.2) 

1 个答案:

答案 0 :(得分:0)

好吧,经过几个小时努力让这个工作起来,我终于想出了一个使用John MacFarlane的评论和他的教程的解决方案,可以找到here。如果您使用的是Windows,则需要了解一些事项才能使其正常工作。

首先,在安装Haskell平台之后,如果您的计算机上没有管理员权限,则cabal无法立即使用。因此,您需要手动将文件路径输入PATH变量。路径为/path_to_Haskell/lib/extralibs/bin

现在您可以从命令行调用cabal,您应该知道cabal update需要永远才能运行。我松散地使用这个术语,但这是一个很好的10到15分钟。

接下来,您将要完成John的教程。当您在克隆github repo后到达pandoc文件夹中的部分时,请先尝试运行cabal install --force --enable-tests。如果没有失败,那么你应该好好去。对我来说,因为当我这样做时它们处于过渡阶段,你会得到一条消息,说有一些冲突,它会说已经耗尽了依赖树。如果发生这种情况,请在他的评论中下载John链接到的the stack binary。然后,在pandoc目录中,运行stack setup,然后运行stack install

完成此操作后,继续阅读John的教程以克隆pandoc-citeproc并安装它。在这一点上,你遗憾的是还没有完成。对我来说,R现在正在尝试使用C:/Users/brittenb/AppData/Roaming/cabal/bin/pandoc.exe,这不是正确的可执行文件。这是我们安装pandoc-citeproc时创建的可执行文件,并且(在编写本文时)版本15.2.1(不包括文件路径修复)。我们想要堆栈构建的可执行文件,它应保存在~/AppData/Roaming/local/bin目录中。只需将pandoc.exe文件复制到~/AppData/Roaming/cabal/bin

即可

最后,重新启动R并将您的markdown编织为HTML。一切都应该好,好。