编织此代码片段时:
<<test>>=
f <- function(
x, #arg description
y) x*y
f(3, 4)
@ 我得到了错误:
label: test
Warning in block_exec(params) :
failed to tidy R code in chunk <test>
reason: Error in base::parse(text = code, srcfile = NULL) :
2:5: unexpected SPECIAL
1: f <- function (
2: x , %InLiNe_IdEnTiFiEr%
^该问题与tidy.source()有关,它无法格式化给定块。
在适当的位置注释函数参数是一种非常常见且经常被建议的做法。我认为这种行为可能不是故意的,因为在过去可以使用这些类型的注释。
发布于 2014-04-28 09:43:00
请注意,您会得到一个警告,而不是一个错误。它仍然应该生成一个文档,只是不会被整理。它不知道如何整理代码,我也不认为这是一种很好的格式化代码的方式,所以我对不能整理代码没什么意见。
如果要消除警告,可以执行以下操作
<<test, tidy=FALSE>>=
f <- function(
x, #arg description
y) x*y
f(3, 4)
@ 你不会得到你的代码整理,但你不会得到警告。
发布于 2014-04-28 09:34:57
注释不能保留在不完整的表达式中。
请参阅https://github.com/yihui/formatR/wiki的第6节。
包作者已经注意到这是(已关闭的)问题#15。(使用roxygen2或类似的工具是记录函数的“更好”选择)。
https://stackoverflow.com/questions/23329097
复制相似问题