【问题标题】:Plot code does not work in R Studio but does in R绘图代码在 R Studio 中不起作用,但在 R 中起作用
【发布时间】:2016-06-04 17:18:03
【问题描述】:

我正在尝试将绘图结果移动到 R 工作室中的 rmarkdown 以下代码失败

```{r front_stuff ,echo=FALSE,fig.height=3,fig.width=4}
library(ggplot2)
library(cowplot)
library(lubridate)
library(reshape2)
library(htmlTable)
library(data.table)
library(png)
project_folder<-"C:\\Users\\jciconsult\\SkyDrive\\trial_retail\\"
load(paste0(project_folder,"sa_prov_html.RSave"))
load(paste0(project_folder,"Ontario_plot_save.RSave"))
ls()
```
`r ggdraw(cow_plot1)`

错误信息是

从第 29-29 行退出 (test1.Rmd) vapply(x, format_sci_one, character(1L), ..., USE.NAMES = FALSE) 中的错误: 值的长度必须为 1, 但FUN(X[[1]]) 结果长度为 2 调用: ... paste -> hook -> .inline.hook -> format_sci -> vapply 执行停止

如果我将相同的代码复制到一个清晰的 R 会话中(消除代码块的 stuf),一切正常。

我想要做的是获得一个可以转换为单词的文档。我正在使用 knit HTML 选项,因为这是让我的 htmlTable 输出正常工作所必需的。 我想要一些可以剪切并粘贴到 word 中以进行最终格式化的东西,

【问题讨论】:

  • 您是否尝试过将 ggdraw 添加到代码块中而不是作为内联代码?
  • 另外,你可以试试library(knitr) ; opts_knit$set(root.dir = project_folder) ; load("sa_prov_html.RSave") ; load("Ontario_plot_save.RSave") 而不是你的两个load()
  • Scoa 使用代码块的建议很好地解决了这个问题。非常感谢。我也会试试你的 knitr 建议,

标签: rstudio r-markdown


【解决方案1】:

绘图无法绘制,因为它是内联代码。尝试使用代码块:

```{r}
ggdraw(cow_plot1)
```

另外,使用 knitr 设置工作目录的正确方法(这似乎是您想要实现的)是使用 knitr 选项root.dir

library(knitr)
opts_knit$set(root.dir = project_folder)
load("sa_prov_html.RSave")
load("Ontario_plot_save.RSave")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-02
    相关资源
    最近更新 更多