我遇到了一个问题,我有一个类似于下面所示的R脚本(有几个循环来绘制一些图形和多个嵌套的if语句来确定要绘制哪一组图形,但这个例子就足够了。)
运行spin('spin-script.R')
时,if语句中的所有#'
条评论都不会显示在最终文档中。
对于为什么会发生这种情况的任何见解都将非常感激。
opts_chunk$set(echo=FALSE)
#+ Title
print("This is the title")
#+ Choose, echo = FALSE
choices <-c("0","1", "2", "3", "4", "5")
choice <- select.list(choices, title = "Pick your favourite Number")
numbers <- as.double(choices)
choice <- numbers[choices==choice]
#+ SillyNumber
if(choice != 0){
#+ Loop
x <- 0
for (i in 1:choice){
#' Some text to show user
x <- x + rnorm(1, choice, 1/choice)
#+ IfStatement, echo = TRUE
if( choice == 3 ) {
#' That's my favourite number too
{{cat("\n")}}
#' Have a bonus boost
x <- 2 * x
}
}
}
# Display, echo = TRUE
sprintf("Your favourite number scored a total of %f points", x)
答案 0 :(得分:2)
doc
参数控制哪些行被解释为文档,默认值"^#+'[ ]?"
仅匹配以#
开头且前面没有空格的行。您可能希望将其设置为spin(... , doc="^\\s*#+'[ ]?")
以在#'
字符串之前允许空格。有关详细信息,请参阅?spin
。
或者你可以像这样记录你的代码:
#+ SillyNumber
if(choice != 0){
#+ Loop
x <- 0
for (i in 1:choice){
#' Some text to show user
x <- x + rnorm(1, choice, 1/choice)
#+ IfStatement, echo = TRUE
if( choice == 3 ) {
#' That's my favourite number too
{{cat("\n")}}
#' Have a bonus boost
x <- 2 * x
}
}
}
答案 1 :(得分:0)
正当理由,这里没有解决方案。我尝试了上面的解决方案,并得到类似的错误: “解析时出错(text = x,srcfile = src): :7:0:意外结束输入“
然后我检查了生成的相应Rmd文件,发现#'comments(“训练模型”)打破了for循环。这就是意外输入的原因。
```{r}
for(k in 1:fold_num){
#other code
```
训练模型
```{r}
#sext code
}