gpt4 book ai didi

r - 在 knitr 中开始一个新的 R session

转载 作者:行者123 更新时间:2023-12-04 11:42:14 26 4
gpt4 key购买 nike

我怎样才能开始一个新的R knitr 中的 session ?我宁愿开始一个新 session ,也不愿使用 rm(list=ls()) 之类的东西。因为它不等价。

<<myname>>=
#some R code
@
<<another_chunk>>=
#start a new R session
#more R code
@

最佳答案

好的,现在我有一些更重要的东西给你,灵感来自 an answer on the R-help list by Georg Ruß .他建议了三件事让 R 恢复到启动时的状态,我已经为你编写了这六步手册。

首先,您保存一串您在启动时运行的包(这应该在其他任何事情之前完成,在您运行任何其他代码之前),

foo <- .packages()

其次,当你想重置 R 时,正如你所提到的,你运行
rm(list=ls()) 

删除所有对象。然后,第三,你跑,
bar <- .packages()

获取当前包的字符串。其次是,
foobar <- setdiff(bar, foo)

第五,你用这个变通方法消除了差异,
toRemove <- paste("package:", foobar, sep='') 
#or paste0("package:", foobar) in R-2.15.0 or higher
for(i in seq_along(foobar)) {
detach(toRemove[i], character.only=TRUE)
}

第六,根据您的设置,您获取 .Rprofile
source(".Rprofile")

这应该将 R 置于您启动它时的状态。我可能忽略了一些东西。

关于r - 在 knitr 中开始一个新的 R session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10039167/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com