在Rmarkdown中,当我执行一些代码时,我创建的所有变量最终都在整个笔记本的公共名称空间中,其他块可以访问它们。但是,我经常创建临时变量,这些变量在块结束后并不真正需要保留。它们弄乱了我的变量列表,我的自动完成下拉列表,并且通常会导致混乱和微妙的错误(例如。如果我忘记初始化前一个块使用的变量)。
例如:
Calculate the area of a circle:
```{r}R= 1.23
pi = 3.14
温度= 1.23^2
面积= pi * temp
如果我只希望r和area在运行后仍然存在,我如何“标记”pi和temp在块完成后被清除?
发布于 2019-11-09 11:04:04
注意pi是R中的内置常量,你不需要声明你自己的近似值。
一个好的解决方案是将每个块的内容包装在一个函数中。在本例中,您的块将如下所示:
r <- 1.23
circle_area <- function(x) {
pi*(r^2)
}
area <- circle_area()如果让函数circle_area持久化也是一个问题,那么使用rm()的建议是正确的。在这种情况下,我会说如果你的组块足够复杂,这意味着你只需要担心每个组块删除一个名字。
https://stackoverflow.com/questions/58773470
复制相似问题