编织返回解析错误

时间:2015-07-09 19:56:42

标签: r rstudio

尝试编织PDF。我正在调用一个脚本,它应该通过调用chunk来返回两个ggplots:

```{r, echo=FALSE}

read_chunk('Script.R')

```r

但收到错误

processing file: Preview-24a46368403c.Rmd

 Quitting from lines 9-12 (Preview-24a46368403c.Rmd)  Error in
 parse(text = x, srcfile = src) :    attempt to use zero-length
 variable name Calls: <Anonymous> ... <Anonymous> -> parse_all ->
 parse_all.character -> parse Execution halted

脚本自行运行并返回两个图,但在编织时不会返回它们。

同样尝试使用source() 但得到了类似的错误

 Quitting from lines 7-10 (Preview-24a459ca4c1.Rmd)  Error in
 file(filename, "r", encoding = encoding) :    cannot open the
 connection Calls: <Anonymous> ... withCallingHandlers -> withVisible
 -> eval -> eval -> source -> file Execution halted

4 个答案:

答案 0 :(得分:7)

虽然这似乎不适合您,但如果块未正确结束,则会显示相同的错误消息。

我遇到了这个错误并用``而不是```来追踪它结尾的块。更正块的语法解决了我遇到的与您一样的错误消息的问题。

答案 1 :(得分:0)

您确定knitr是从您认为的目录运行的吗?它似乎无法找到该文件。

  • 使用绝对路径,如果修复它,您就找到了问题
  • 一旦你完成了,你可以使用opts_knit$set(root.dir = "...") - 如果你想要它(cwd),就不要使用setwd(.)

Knitr的默认值是.Rmd文件本身的目录。

答案 2 :(得分:0)

这可能与三分反引号末尾的“ r”有关,以分隔代码块。三重反引号后应该没有任何内容,但是我认为问题特别在于字母是“ r”。

该问题源于以下事实:R降价处理以inline code为首的从r开始的反引号语句,这意味着它实际上在反引号之间运行。

我也有类似的问题,用此语句在Rmd中编写问题集,该问题用反引号括起来是等宽的,但不能作为内联代码运行:

  

使用sapplymap来计算r <- seq(.05, .5, .025)上失败率的概率。

编织文档时,出现不透明的错误消息,提示我使用<-分配不当。这是因为r <- seq(.05, .5, .025)实际上不只是在等宽字符中显示反引号的语句,而是实际上被处理为<- seq(.05, .5, .025)的R内联代码...因此分配错误。我通过将变量名从r更改为rate来解决了我的错误。

您的问题中错误消息的实际文本可能涉及代码块后面的内容,因为编织过程可能试图将其作为代码运行。在这种情况下,只需删除代码块末尾的杂散r即可解决错误。

答案 3 :(得分:0)

您应该使用以下类似的语法,虽然我遇到了完全相同的问题,但已将其修复:

    ```{r views}
bank.df <- read.csv("C:/Users/User/Desktop/Banks.csv", header = TRUE) #load data
dim(bank.df) # to find dimension of data frame
head(bank.df) # show first six rows
```

```必须在行的末尾。