按索引列和行的子集数据表

J. Doe

我希望通过更改列的索引z并同时基于某个%in%基于向量的行来对数据表进行递归子集化

dt <- setDT(copy(diamonds))
dt <- setDT(data.frame(lapply(dt, as.character), stringsAsFactors=FALSE))
z=4
subset_by <- unique(dt[,z])[1:2]
### obviously does not work
###dt1<-dt[ z %in% subset_by]

我正在寻找最节省内存的操作来执行此操作,并且我敢肯定有一种不使用colnames的方法,但是我只是找不到它。我看了很多帖子,用这种beign最相关

阿克伦

如果我们根据索引或名称进行子集设置,则可以在 .SDcols

i1 <- dt[, .I[.SD[[1]] %chin% subset_by], .SDcols = z]
dt[i1]

请注意,data.table/tbl_df/data_frame将其中的一个子集设置为[[$

subset_by <- unique(dt[[z]])[1:2]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章