0
我正在寫一個函數,它根據一個id值從數據表random
中過濾掉一些隨機數據,但是我首先需要它先檢查數據表中是否有實際的數據行。我最終寫了一個if語句並使用is.null
,但它仍然用於條件,但它不工作,並最終訪問else語句,然後給我一個錯誤。 下面發佈的代碼,請大家幫我如何檢查數據表是否有空行?
new.filterID <- function(DataTable,id) {
if(DataTable == is.null){
return(print("No Data Available: ",id))
} else { filtered <- subset(DataTable, ID == id)
return(aggregate(Value ~ YEAR_WW, filtered, mean))
}
}
filteredData <- new.filterID(random, 213)
我得到的錯誤,當我運行這是
Error in aggregate.data.frame(mf[1L], mf[-1L], FUN = FUN, ...) :
no rows to aggregate
也低於空數據表random
Value YEAR_WW
使用'if(nrow(DataTable)== 0)'。該對象仍然存在,即使它不包含任何數據。 – lmo
感謝它工作@lmo –