我做我的R中 數據的簡單布爾條件有時數據並不在如何返回,而不是NA數字(0),當條件不中的R
存在例如,如果能返回結果條件不具備匹配,它會返回數字(0),而不是一個值
item_size = data_size$size[data_size$Item == item_code]
如何確保NA返回,而不是什麼都沒有?
我做我的R中 數據的簡單布爾條件有時數據並不在如何返回,而不是NA數字(0),當條件不中的R
存在例如,如果能返回結果條件不具備匹配,它會返回數字(0),而不是一個值
item_size = data_size$size[data_size$Item == item_code]
如何確保NA返回,而不是什麼都沒有?
如果你總是期待一個值,你可以這樣做:
item_size <- c(data_size$size[data_size$Item == item_code], NA)[1]
試試這個(因爲if
-testing零長度項目是相當標準的R說法):
item_size = if(length(y <-data_size$size[data_size$Item == item_code])){
y} else { NA}
從上下文實際上,我想如果這是打算:
item_size = if(length(y <-data_size$size[data_size$Item == item_code])){
length(y) } else { NA}
你問題是有點不清楚它將如何實施,但如果它被使用,因爲我認爲這將是你可以放在一個漁獲物,以測試項目編號是否存在
# set up test data
Item <- c(1:4)
size <- c(11:14)
data_size <- as.data.frame(cbind(Item,size))
# wrap your command in an ifelse to see if the item being looked for is present,
# if it is then return the item code, if not return NA
item_size <- ifelse(is.element(item_code,unique(data_size$Item))==TRUE,
data_size$size[data_size$Item == item_code],
NA)
似乎令人印象深刻。我們可以有比較你和其他方法的時代嗎? – Saksham