执行块后删除变量

时间:2019-11-08 20:38:40

标签: r r-markdown local-variables chunks

在Rmarkdown中,当我执行一些代码时,我创建的所有变量最终都位于整个笔记本的公共命名空间中,其他块可以访问它们。但是,我经常创建临时变量,这些临时变量在块结束后并不需要真正保留。它们使我的变量列表混乱不堪,使我的自动完成下拉列表变得混乱,并且通常会引起混乱和细微的错误(例如,如果我忘记初始化上一个块使用的变量)。

例如:

Calculate the area of a circle:
```{r}
r = 1.23

pi = 3.14  
temp = 1.23^2

area = pi * temp
```

如果运行此命令后我只希望rarea保留,那么如何在完成块之后“标记” pitemp清除?

1 个答案:

答案 0 :(得分:1)

注意pi是R中的内置常量,您无需声明自己的近似值。

一个好的解决方案是将每个块的内容包装在一个函数中。在这种情况下,您的块将如下所示:

r <- 1.23
circle_area <- function(x) {
pi*(r^2)
}
area <- circle_area()

如果持久保留功能circle_area也是一个问题,则使用rm()的建议是正确的。在这种情况下,我想说的是,如果您的数据块足够复杂,则意味着您只需要担心为每个数据块删除一个名称。