【问题标题】:One line if statement in R - invalid first argumentR中的一行if语句-第一个参数无效
【发布时间】:2014-09-07 08:10:45
【问题描述】:

我正在 R 中编写简单的代码,我正在检查工作目录中是否存在给定文件,如果不存在,我正在下载包含数据的 zip 文件并将其解压缩到 R 中。碰巧的是,如果该文件存在对应于二进制(getBinaryURL)的R对象,并且连接到该文件。我想在成功下载后删除它们。我起草了那些 if 语句,但它们返回错误 Error in exists(bin) : invalid first argument。 对我来说,语法有什么问题是显而易见的。

if (exists(bin)) rm(bin)
if (exists(con)) rm(con)
if (exists(dataurl)) rm(dataurl)

【问题讨论】:

    标签: r object if-statement exists


    【解决方案1】:

    您的if() 语句不是问题,您需要引用传递给exists() 的对象。

    > AnObject <- seq(1:10)
    > exists(AnObject)
    Error in exists(AnObject) : invalid first argument
    > exists("AnObject")
    [1] TRUE
    

    【讨论】:

    • 非常感谢。我明白我不必在 rm 语句中引用对象?
    • @Konrad 没错。大多数函数采用对象的不带引号的名称而不是带引号的名称;当您使用新的或不熟悉的功能并出现错误时,最好的办法是查看其帮助文件以获取更多信息。如果您输入?exists,您可以查看“参数”部分中如何指定对象,并在页面底部查看如何使用它的示例。
    猜你喜欢
    • 1970-01-01
    • 2014-09-07
    • 2018-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-18
    • 2017-06-18
    • 2017-06-03
    相关资源
    最近更新 更多