gpt4 book ai didi

R:从 data.table 中删除列,通过引用,没有名称

转载 作者:行者123 更新时间:2023-12-04 00:40:55 24 4
gpt4 key购买 nike

这几乎是 this 的副本.我想从数据表中删除列,但我想高效地完成。我有一个要保留的列名称列表。链接问题的所有答案都暗示着做一些类似于

data.table.new <- data.table.old[, my.list]

这在某个关键时刻会给我一个新对象,而旧对象仍在内存中。然而,我的 data.table.old是巨大的,因此我更喜欢通过引用来做到这一点,正如所建议的 here
set(data.table.old, j = 'a', value = NULL)

但是,由于我有一个列白名单,而不是黑名单,我需要遍历所有列名,检查它们是否在 my.list 中。 ,然后申请 set() .有没有更清洁/其他方法可以这样做?

最佳答案

不确定您是否可以通过 data.frame 上的引用操作来完成而不将其设为 data.table。
如果您考虑使用 data.table,下面的代码应该可以工作.

library(data.table)
setDT(data.frame.old)
dropcols <- names(data.frame.old)[!names(data.frame.old) %in% my.list]
data.frame.old[, c(dropcols) := NULL]

关于R:从 data.table 中删除列,通过引用,没有名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31267289/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com