Удаление столбцов data.table внутри функции

У меня есть следующий пример:

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]. Я предполагаю, что, поскольку строки пока не могут быть удалены по ссылке, другой создается таблица данных. Однако я хотел бы удалить столбец индекса в исходном Таблица данных.

6
задан Matt Dowle 29 January 2013 в 14:16
поделиться