基于类型列表列中的值的子数据表。

问题描述 投票:0回答:1

所以我目前有一个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进行子集处理,以仅保留行...

r list data.table subset
1个回答
0
投票

如果是list,我们可以遍历列表并应用is.null以返回逻辑vector

© www.soinside.com 2019 - 2024. All rights reserved.