我正在使用R版本3.3.2(2016-10-31)的data.table(可能是過時的)1.10.4版本。我可以通過美元符號訪問不存在的列。這是行爲嗎?使用美元符號訪問data.table中不存在的列
代碼:
realOffloads = data.table(BAG_TAG = c(1,2,3))
realOffloads = realOffloads[, .(BAG_TAG, OFFLOAD_REAL = T)]
"OFFLOAD" %in% names(realOffloads)
x = realOffloads$OFFLOAD
雖然我得到「假」的回答爲列「卸載」是否存在,我得到的東西出來的(T,T,T)時的問題使用美元符號訪問它。
我用那個漂亮經常在代碼所以現在我有點害怕:-()
問候, FW
這是從基地R,例如'list(a = 2)$ b'。如果你想data.table引發一個錯誤,你可以像'data.table(a = 1)[,b]'那樣提取列。或者寫下'if(「b」%in%names(DT))x = DT $ b else stop(「zomg」)'。 – Frank