如何将图表和表格调用到 RMarkdown 文件中?

问题描述 投票:0回答:1

假设我在 R 脚本“Carsplot.R”中保存了一个虚拟图

library(tidyverse)

ggplot(data = mpg) + 
  geom_point(mapping = aes(x = displ, y = hwy))

然后是我正在写的一篇论文的一个单独的 RMarkdown 文件,我想在不使用任何代码的情况下调用“汽车plot.R”脚本中的绘图。看起来像这样:

---
title: "Test"
author: "XYZ"
date: "`r Sys.Date()`"
output: html_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```

然后是一些解释性文本,后面是一段代码块,内容如下:

```{r, include = FALSE}
source("Cars plot.R")
```

我从 R Markdown Cookbook 获取该代码。

我读取错误:

Warning in file(filename, "r", encoding = encoding) :
  cannot open file 'Cars plot.R': No such file or directory
Error in file(filename, "r", encoding = encoding) : 
  cannot open the connection

这是我的工作目录的问题吗?我没有在脚本中设置任何内容。 RMarkdown 文件的结构如下:

C:/Documents/Project
<- it's in this folder.

脚本位于另一个文件夹中,如下所示:

C:/Documents/Project/Codes
<- it's in the codes folder.

或者我是否使用

source()
错误地调用了它 // 需要添加更多内容才能使绘图可见?

编辑

工作目录出现问题,将.Rmd和.R文件放入同一文件夹即可解决。

然后我需要将 ggplot 代码分配给一个对象,即

plot1 <- ggplot(data = mpg) +    geom_point(mapping = aes(x = displ, y = hwy))

另外,按照 dcsuka 的建议,我将块分成两部分,因此 .Rmd 文件代码...

```{r, include = FALSE} 
source("Cars plot.R")
```

然后在一个单独的块中:

```{r, echo = FALSE} 
plot1
```

最终结果是我在输出中绘制了图,没有任何代码。

r r-markdown knitr
1个回答
0
投票

工作目录出现问题,将.Rmd和.R文件放入同一文件夹即可解决。

然后我需要将 ggplot 代码分配给一个对象,即

plot1 <- ggplot(data = mpg) +    geom_point(mapping = aes(x = displ, y = hwy))

另外,按照 dcsuka 的建议,我将块分成两部分,因此 .Rmd 文件代码...

```{r, include = FALSE} 
source("Cars plot.R")
```

然后在一个单独的块中:

```{r, echo = FALSE} 
plot1
```

最终结果是我在输出中绘制了图,没有任何代码。

© www.soinside.com 2019 - 2024. All rights reserved.