我该如何开始新的R会话knitr?我宁愿开始一个新的会话,而不是使用像是rm(list=ls())因为它不等同的东西.
<<myname>>=
#some R code
@
<<another_chunk>>=
#start a new R session
#more R code
@
Run Code Online (Sandbox Code Playgroud)
好吧,现在我有一些更实质性的东西给你,灵感来自于Georg Ru\xc3\x9f 在 R-help 列表上的答案。他提出了三件事来让 R 恢复到启动时的状态,我已经为您编写了这本六步手册。
\n\n首先,保存启动时运行的软件包的字符串(这应该在运行任何其他代码之前在其他任何事情之前完成),
\n\nfoo <- .packages()\nRun Code Online (Sandbox Code Playgroud)\n\n其次,当你想重置 R 时,正如你也提到的,你运行
\n\nrm(list=ls()) \nRun Code Online (Sandbox Code Playgroud)\n\n删除所有对象。然后,第三,你跑,
\n\nbar <- .packages()\nRun Code Online (Sandbox Code Playgroud)\n\n获取当前包的字符串。其次是,
\n\nfoobar <- setdiff(bar, foo)\nRun Code Online (Sandbox Code Playgroud)\n\n第五,通过这个解决循环消除差异,
\n\ntoRemove <- paste("package:", foobar, sep=\'\') \n#or paste0("package:", foobar) in R-2.15.0 or higher\nfor(i in seq_along(foobar)) { \n detach(toRemove[i], character.only=TRUE) \n}\nRun Code Online (Sandbox Code Playgroud)\n\n第六,根据您的设置,您可以获取 .Rprofile
\n\nsource(".Rprofile")\nRun Code Online (Sandbox Code Playgroud)\n\n这应该使 R 进入您启动它时的状态。我可能忽略了一些事情。
\n