我有以下示例:
irisDT <- as.data.table(iris)
mod <- function(dat) {
dat[, index:=(1:nrow(dat))]
setkey(dat, index)
dat <- dat[2:10]
dat[, index:=NULL]
invisible()
}
mod(irisDT)
names(irisDT) # it contains index
mod()
令我惊讶的是,调用函数后索引列仍然存在。当我删除该行时,情况并非如此dat <- dat[2:10]
。我猜想,由于还不能通过引用删除行,因此创建了另一个 data.table。但是,我想删除原始data.table中的索引列。