所以我目前有一个data.table的情况,其中有一列类型为list。该列表可以包含不同的值,NULL
和其他可能的值。我试图对data.table进行子集化,以仅保留此列的值为NULL
的行。
看一下...我在下面的尝试(例如,我将列命名为“ ColofTypeList”):
DT[is.null(ColofTypeList)]
它给我返回
Empty data.table
。然后我尝试:
DT[ColofTypeList == NULL]
它返回以下错误(我预期是错误):
Error in .prepareFastSubset(isub = isub, x = x, enclos = parent.frame(), : RHS of == is length 0 which is not 1 or nrow (96). For robustness, no recycling is allowed (other than of length 1 RHS). Consider %in% instead.
然后我尝试了此:
DT[ColofTypeList == list(NULL)]
它返回以下错误:
Error: comparison of these types is not implemented
我还试图给出一个长度与列长度相同的列表,并且得到了同样的最后一个错误。
所以我的问题很简单:将“ ColofTypeList”的元素为NULL
的行子集化的正确data.table方法是什么?
所以我目前有一个data.table的情况,其中有一列类型为list。该列表可以包含不同的值,其中NULL可能为其他值。我试图对data.table进行子集处理,以仅保留行...
如果是list
,我们可以遍历列表并应用is.null
以返回逻辑vector