当连接到HTML时,代码中出现R标记错误
我试图在我的降价文档中运行代码块。我有一个R脚本,可以运行我需要的所有代码,而不会出现任何问题。然后,当我将代码复制并粘贴到markdown文档中时,代码将在块中运行,但在尝试编织到输出文档(html/pdf)时将失败 我必须创建一个safe.ifelse函数,以防止r将我的日期转换为数字格式 错误似乎与代码有关:当连接到HTML时,代码中出现R标记错误,r,markdown,R,Markdown,我试图在我的降价文档中运行代码块。我有一个R脚本,可以运行我需要的所有代码,而不会出现任何问题。然后,当我将代码复制并粘贴到markdown文档中时,代码将在块中运行,但在尝试编织到输出文档(html/pdf)时将失败 我必须创建一个safe.ifelse函数,以防止r将我的日期转换为数字格式 错误似乎与代码有关: safe.ifelse = function(cond, yes, no){structure(ifelse(cond, yes, no), class = class(yes))
safe.ifelse = function(cond, yes, no){structure(ifelse(cond, yes, no), class = class(yes))
}
我收到的错误消息是:
第121行结构错误(ifelse(cond,yes,no),class=class(yes)):找不到函数“days”调用:。。。transform.data.frame->eval->eval->safe.ifelse->结构执行暂停
my safe.ifelse函数后面的代码行是
seminoma1 = transform(seminoma1, recur.date = safe.ifelse(salvage.tx=="Yes",
date.diagnosis + days(pmax(time.rad, time.chemo, na.rm=TRUE)), NA))
任何帮助都将不胜感激。谢谢。我还是个新手,不会发表评论,但我唯一一次遇到这样的错误是当我忘记定义函数/变量或忘记提供包时 由于
days()
```{r echo = FALSE}
library("lubridate")
```
这是lubridate
软件包中的days
功能吗?从错误消息(找不到函数“days”
)中可以看出,在调用函数之前,您没有加载包。如果没有转换,它会做什么?我认为你的安全。如果else
功能很好,这就解决了问题。我加载了lubridate,但我没有在代码块中调用它。将库(“lubridate”)添加到块的开头修复了它。lubridate
仅在交互式会话中加载。每次编译rmarkdown文档时,R Studio都会打开一个新的、单独的R会话,因此需要在rmarkdown文档中加载任何必要的包。