我想在R中编写一个非常基本的IF语句并卡住。我以为我会找到有同样问题的人,但我不能。对不起,如果这之前已经解决了。R:IF对象为TRUE,然后指定对象NOT WORKING
我想检查一个变量/对象是否已分配,如果为真我想执行一个函数,它是R程序包的一部分。首先,我写了
FileAssignment <- function(x){
if(exists("x")==TRUE){
print("yes!")
x <- parse.vdjtools(x)
} else { print("Nope!")}
}
我指定一个文件名作为X
FILENAME <- "FILENAME.txt"
我运行函数
FileAssignment(FILENAME)
我使用打印( “是的!”),并打印( “不!” )来检查IF语句是否工作,并且它确实如此。但是,parse.vdjtools(x)
零件未分配。现在我测试了该函数之外的相同IF语句:
if(exists("FILENAME1")==TRUE){
FILENAME1 <- parse.vdjtools(FILENAME1)
}
这是有效的。我读here,它可能是因为该函数使用{}
和if语句也是如此。所以我应该删除if语句中的括号。
FileAssignment <- function(x){
if(exists("x")==TRUE)
x <- parse.vdjtools(x)
else { print("Nope!")
}
也没有工作。
我认为这可能与具体的parse.vdjtools(x)
函数有关,所以我只是试图用x <- 20
为x赋一个正常值。功能里面也没有工作,但是,它在外面。
面点,看看'?missing'作为替代'存在()'在这种情况下。 –
这完全不清楚你实际想要完成什么。无论如何,作为一个侧面说明,根据“TRUE”测试一个逻辑对象是没有意义的。删除'== TRUE'部分,这是无稽之谈。 –