我想這非常簡單,但我似乎找不到答案。R - 如何在IF語句中測試字符(0)
我正在寫IF語句,但測試是如果對象返回character(0)
值。我不知道如何在聲明中處理character(0)
。
假設Test <- character(0)
或值:
if (identical(Pols4,character(0))) {
print('Empty')
} else {
print('Not Empty')
}
它似乎仍然沒有工作.....
我想這非常簡單,但我似乎找不到答案。R - 如何在IF語句中測試字符(0)
我正在寫IF語句,但測試是如果對象返回character(0)
值。我不知道如何在聲明中處理character(0)
。
假設Test <- character(0)
或值:
if (identical(Pols4,character(0))) {
print('Empty')
} else {
print('Not Empty')
}
它似乎仍然沒有工作.....
使用identical
功能進行檢查。
a <- character(0)
identical(a, character(0)) # returns TRUE
identical(a, "") # returns FALSE
identical(a, numeric(0)) # returns also FALSE
直到我使用'identical(a,as.Date(character(0))'後,我仍然獲得'FALSE'返回值,因爲即使在投射之後,該值顯示爲'character(0) – 2017-03-20 19:53:26
如果你給Date賦了一個值,那麼它與'character(0)'不一樣,所以這種行爲非常好,'quote(character(0))'也被顯示出來作爲控制檯中的「字符(0)」,並且與「字符(0)」明確地不相同 – 2017-03-21 09:46:01
我不是在抱怨,我只是分享以防其他人有類似的情況。 – 2017-03-23 13:42:04
'length(character(0))'爲零,所以'if(length(x))'應該這樣做。 – tonytonov 2014-09-03 08:59:48
沒有抱歉,它沒有。 'length(NULL)'也是零,'length(numeric(0))'也是。 – 2014-09-03 09:04:35
將您的第一行更改爲'if(相同(測試,字符(0)))'不起作用? – 2014-09-03 09:27:57