我想在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'部分,這是無稽之談。 –