【发布时间】:2015-12-29 05:22:05
【问题描述】:
我想对数据表的某些行进行子集化。像这样:
# load data
data("mtcars")
# convert to data table
setDT(mtcars,keep.rownames = T)
# Subset data
mtcars <- mtcars[like(rn,"Mer"),] # or
mtcars <- mtcars[mpg > 20,]
但是,我正在处理一个庞大的数据集,我想避免使用 <-,因为它会复制数据,因此内存效率不高。
这是正确的吗?
没有<-是否可以更新过滤数据?
【问题讨论】:
-
如何在不将数据分配给变量的情况下更新数据?最后,在您处理完所有更改后,必须将更改分配给一个变量。
-
如果您不想存储数据,为什么要对数据进行子集化?你只是暂时需要它吗?还是您只需要子集并想要删除原始文件,并且您正在寻找一种有效的方法来做到这一点?
-
我认为您要求的是不可能的。不过,这可能是 GH 上的一个有趣的 FR。但我相信要实现这样的事情需要大量的开发。
-
@DavidArenburg 只是通过引用删除实际上并不难。好处主要是内存效率而不是速度。
标签: r data.table subset