我希望通过改变列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应用程序中可能是有用的