当连接到HTML时,代码中出现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))

我试图在我的降价文档中运行代码块。我有一个R脚本,可以运行我需要的所有代码,而不会出现任何问题。然后,当我将代码复制并粘贴到markdown文档中时,代码将在块中运行,但在尝试编织到输出文档(html/pdf)时将失败

我必须创建一个safe.ifelse函数,以防止r将我的日期转换为数字格式

错误似乎与代码有关:

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文档中加载任何必要的包。