tengo el siguiente ejemplo:Eliminación de columnas de una data.table dentro de una función
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
Para mi sorpresa, la columna de índice sigue existiendo después de llamar a la función mod()
. Este no es el caso cuando elimino la línea dat <- dat[2:10]
. Supongo que, dado que las filas no se pueden eliminar por referencia aún, se crea otra data.table. Sin embargo, me gustaría eliminar la columna de índice en la tabla de datos original.
No comience su título con "R:"; para eso están las etiquetas. –
+1 golpeó 100% en el mismo problema hoy. – Beasterfield