R中的一行if语句-第一个参数无效

R中的一行if语句-第一个参数无效,r,object,if-statement,exists,R,Object,If Statement,Exists,我在R中编写简单的代码,检查给定的文件是否存在于工作目录中,如果不存在,则下载带有数据的zip文件并在R中解压缩。如果文件存在,则与二进制(getBinaryURL)对应的R对象和与文件的连接被连接。我想在成功下载后删除它们。我起草了那些一句if语句,但它们返回errorerror in exists(bin):无效的第一个参数。我很清楚语法有什么问题 if (exists(bin)) rm(bin) if (exists(con)) rm(con) if (exists(dataurl)) r

我在R中编写简单的代码,检查给定的文件是否存在于工作目录中,如果不存在,则下载带有数据的zip文件并在R中解压缩。如果文件存在,则与二进制(getBinaryURL)对应的R对象和与文件的连接被连接。我想在成功下载后删除它们。我起草了那些一句if语句,但它们返回errorerror in exists(bin):无效的第一个参数。我很清楚语法有什么问题

if (exists(bin)) rm(bin)
if (exists(con)) rm(con)
if (exists(dataurl)) rm(dataurl)
您的
if()
语句不是问题所在,您需要引用传递给
exists()
的对象

>存在一个对象(一个对象)
存在错误(AnObject):第一个参数无效
>存在(“对象”)
[1] 真的

非常感谢。我知道我不必在rm语句中引用对象?@Konrad这是正确的。大多数函数采用对象的非引号名称,而不是引号;当您使用一个新的或不熟悉的函数并出现错误时,最好的做法是查看其帮助文件以获取更多信息。如果键入
?exists
,则可以在“参数”部分检查对象的指定方式,并在页面底部查看如何使用该对象的示例。
> AnObject <- seq(1:10)
> exists(AnObject)
Error in exists(AnObject) : invalid first argument
> exists("AnObject")
[1] TRUE