尝试编织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
答案 0 :(得分:7)
虽然这似乎不适合您,但如果块未正确结束,则会显示相同的错误消息。
我遇到了这个错误并用``而不是```来追踪它结尾的块。更正块的语法解决了我遇到的与您一样的错误消息的问题。
答案 1 :(得分:0)
您确定knitr是从您认为的目录运行的吗?它似乎无法找到该文件。
opts_knit$set(root.dir = "...")
- 如果你想要它(cwd),就不要使用setwd(.)
。 Knitr的默认值是.Rmd
文件本身的目录。
答案 2 :(得分:0)
这可能与三分反引号末尾的“ r”有关,以分隔代码块。三重反引号后应该没有任何内容,但是我认为问题特别在于字母是“ r”。
该问题源于以下事实:R降价处理以inline code为首的从r
开始的反引号语句,这意味着它实际上在反引号之间运行。
我也有类似的问题,用此语句在Rmd中编写问题集,该问题用反引号括起来是等宽的,但不能作为内联代码运行:
使用
sapply
或map
来计算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
```
```必须在行的末尾。