3

当我尝试查看数据框结果时,我在 Rnotebook 中的代码块输出没有出现(好像没有运行)。我必须将它通过 pander() 函数才能看到输出打印出来。这与knitr有关吗?我提到这一点是因为我在开头将选项设置为以下内容:

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

我尝试直接在块中设置选项,但得到相同的不需要的结果。有没有我没有正确配置的设置?我还必须提到,这是一种在某种程度上不一致的行为。也就是说,我可能会停止工作,一段时间后代码输出会以某种方式出现。

这是我尝试运行以将粘贴复制到 Rnotebook 的工作代码示例。

设置笔记本工作区选项

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

加载相应的库和包

```{r}
library(easypackages)
libraries("dplyr",
          "ggplot2",
          "caret",
          "tidyverse",
          "tidytext",
          "ROCR",
          "pander",
          "knitr",
          "broom")
```

以下是一些示例数据:

```{r}
library(readr)
attibm <- read_csv("https://raw.githubusercontent.com/vincentarelbundock/Rdatasets/master/csv/datasets/mtcars.csv", 
    col_types = cols(Attrition = col_character()))
```

看结构。(此输出按预期显示)

```{r}
glimpse(attibm)
```

预期输出

预览前十行(这是未显示的输出。没有任何反应)

```{r}
head(attibm)
```

此输出也不显示。(什么都没发生)

```{r}
attibm %>% 
  summarise_if(is.integer, mean)
```

当我通过 pander 函数时,它会显示出来。

```{r}
attibm %>% 
  summarise_if(is.integer, mean) %>% 
  pander()
```

使用 pander 1 显示的输出

这个也有展示

```{r}
pander(head(attibm))
```

使用 pander 2 显示的输出

我检查了发布的问题:R notebook 中的数字输出,但我无法看到与此案例的联系。

我希望这足够清楚,并且您可以重现此处显示的代码。对此问题的任何帮助将不胜感激。

4

2 回答 2

3

最新版本的 markdown 不再兼容 pandocv2。您可以使用检查您的 pandoc 版本

library(rmarkdown); pandoc_version()

如果是 pandoc 版本,则需要可以在那里下载的 markdown 开发版本

library(devtools); install_github("rstudio/rmarkdown")

要缩小这是否是最新版本 pandoc 的问题,请尝试通过添加来检查生成的 .md 是否正确

 ---
 output:  
  html_notebook 
    keep_md: true
 ---
于 2018-01-20T09:38:19.487 回答
1

我有一个类似的问题,data.frame 和 DT:data.table 不会显示任何输出。
这篇文章帮助了我。我发现问题的原因是我在 .rmd 文件名中输入错误,包括非 ASCII 字符!一旦我删除它,问题就解决了。希望这对其他人也有帮助

于 2020-06-28T16:24:20.677 回答