在Rmarkdown中,当我执行一些代码时,我创建的所有变量最终都位于整个笔记本的公共命名空间中,其他块可以访问它们。但是,我经常创建临时变量,这些临时变量在块结束后并不需要真正保留。它们使我的变量列表混乱不堪,使我的自动完成下拉列表变得混乱,并且通常会引起混乱和细微的错误(例如,如果我忘记初始化上一个块使用的变量)。
例如:
Calculate the area of a circle:
```{r}
r = 1.23
pi = 3.14
temp = 1.23^2
area = pi * temp
```
如果运行此命令后我只希望r
和area
保留,那么如何在完成块之后“标记” pi
和temp
清除?
答案 0 :(得分:1)
注意pi是R中的内置常量,您无需声明自己的近似值。
一个好的解决方案是将每个块的内容包装在一个函数中。在这种情况下,您的块将如下所示:
r <- 1.23
circle_area <- function(x) {
pi*(r^2)
}
area <- circle_area()
如果持久保留功能circle_area
也是一个问题,则使用rm()
的建议是正确的。在这种情况下,我想说的是,如果您的数据块足够复杂,则意味着您只需要担心为每个数据块删除一个名称。