rm()不';我似乎没有清空我的R工作区

rm()不';我似乎没有清空我的R工作区,r,R,我正在尝试清除我的R工作区。我在任何线程中都没有发现任何有用的东西——我已经在谷歌上搜索并尝试了几个小时的解决方案:( 当我打开R并键入ls时,控制台将显示上一个会话中的所有代码: function (name, pos = -1L, envir = as.environment(pos), all.names = FALSE, pattern) { if (!missing(name)) { nameValue <- try(name, silent

我正在尝试清除我的R工作区。我在任何线程中都没有发现任何有用的东西——我已经在谷歌上搜索并尝试了几个小时的解决方案:(

当我打开R并键入
ls
时,控制台将显示上一个会话中的所有代码:

function (name, pos = -1L, envir = as.environment(pos), all.names = FALSE, 
    pattern) 
{
    if (!missing(name)) {
        nameValue <- try(name, silent = TRUE)
        if (identical(class(nameValue), "try-error")) {
            name <- substitute(name)
            if (!is.character(name)) 
                name <- deparse(name)
            warning(gettextf("%s converted to character string", 
                sQuote(name)), domain = NA)
            pos <- name
        }
        else pos <- nameValue
    }
    all.names <- .Internal(ls(envir, all.names))
    if (!missing(pattern)) {
        if ((ll <- length(grep("[", pattern, fixed = TRUE))) && 
            ll != length(grep("]", pattern, fixed = TRUE))) {
            if (pattern == "[") {
                pattern <- "\\["
                warning("replaced regular expression pattern '[' by  '\\\\['")
            }
            else if (length(grep("[^\\\\]\\[<-", pattern))) {
                pattern <- sub("\\[<-", "\\\\\\[<-", pattern)
                warning("replaced '[<-' by '\\\\[<-' in regular expression pattern")
            }
        }
        grep(pattern, all.names, value = TRUE)
    }
    else all.names
}
<bytecode: 0x2974f38>
<environment: namespace:base>
函数(name,pos=-1L,envir=as.environment(pos),all.names=FALSE,
模式)
{
如果(!缺少(名称)){

nameValue您看到的是
ls
函数的源代码。当您输入不带括号的函数名时,您将看到该函数的完整源代码(前提是该函数位于附加到搜索路径的某个包中,或在全局环境中)

调用
ls()
的结果是
字符(0)
,这意味着全局环境中没有对象。在
ls
调用home的基本包与全局环境不同,无法删除其中的对象


当调用
rm(list=ls())
后,
character(0)
ls()
的结果时,您已经成功地清除了全局环境中的对象。

不太清楚您正在尝试做什么。
rm(list=ls())
删除全局环境中的所有对象。您所说的代码仍然存在是什么意思?如果可以,请给出一个示例您键入的是
ls()
以列出对象,而不是
ls
(没有
()
),对吗?当你谈论代码时,你是在谈论你在历史上运行过的代码命令吗?@MatthewLundberg,我正在键入不带括号的
ls
。键入带括号的
ls()
返回
字符(0)
也许您已经用其他功能替换了标准的R
ls
-功能。现在键入
rm(ls)
。哇。我觉得自己太傻了。如果没有办法删除这个帖子,我想我会永远忍受这种耻辱。@BenThomas-这根本不是一个坏问题。我打赌很多人会被这个问题弄糊涂。希望这个问题对未来有用,所以ers@Ben托马斯-非常有用的问题。我从R开始(有30年的Matlab经验)我也有同样的疑问,在这里找到了我的答案。好问题,好答案。