我想通过将数据表设置为NULL来删除数据表中第i行和第j列的数据:
dt[i, j := NULL,with=F]
set(dt1,i,j,value=NULL)
上述两个选项都给出了错误:删除列时,我不应该提供
但是,如果我不提供i,数据表中的整个列都会被删除,这不是我想要的。
那么如何删除数据表中的单个值?
答案 0 :(得分:2)
在data.table的意义上,您无法删除单元格中的项。您可以将其值更改为缺少(最有可能)将使用
之类的内容实现您正在寻找的内容dt[i, j := NA]
这将把行j
中的列i
的值设置为NA,或者取消设置,换句话说。以后,当您想要使用这些值或将其排除时,您可以使用is.na(..)
类似于{H} {/ 1}}的方式
关于您获得的错误,is.null(..)
中使用了j := NULL
来删除整个列,实际上当您尝试删除其中的一部分时(通过指定data.table
它产生了一个错误。
如果您要从数据表中删除整个行,可以使用类似
i