子集data.table由索引列和行继续

时间:2018-01-11 10:49:50

标签: r data.table

我希望通过改变列z的索引来递归地对数据表进行子集化,同时根据基于%in%的基于Error in .subset2(x, i, exact = exact) : subscript out of bounds的向量来过滤行。

当@akrun成功回答this question延续时,我在运行以下代码的修改时收到以下错误。 dt <- setDT(copy(diamonds)) dt <- setDT(data.frame(lapply(dt, as.character), stringsAsFactors=FALSE)) z=4 subset_by <- unique(dt[[z]]) i1 <- dt[, .I[.SD[[1]] %in% subset_by], .SDcols = z] dt[i1]

dt

我解决此问题的方法是将过滤部分调整为以下内容,如果您针对现有Error in .subset2(x, i, exact = exact) : no such index at level 1运行此过程,则会收到错误dt<- dt[dt[[z]] %in% subset_by] ,而它对我有效。

second

但是,我想理解为什么原版不起作用而后者却起作用。该错误告诉我abstract class AbstractEntity <T extends AbstractData>{ public abstract Set<T> getData(); } 子集失败,因为我选择它超出界限。突出我使用它深深嵌套在复杂的Shiny应用程序中可能是有用的

0 个答案:

没有答案