Articles of data.table

Aplicar una función a un subconjunto de columnas data.table, por column-indices en lugar de name

Intento aplicar una función a un grupo de columnas en una gran tabla de datos sin referirme a cada una individualmente. a <- data.table( a=as.character(rnorm(5)), b=as.character(rnorm(5)), c=as.character(rnorm(5)), d=as.character(rnorm(5)) ) b <- c('a','b','c','d') con el MWE anterior, esto: a[,b=as.numeric(b),with=F] funciona, pero esto: a[,b[2:3]:=data.table(as.numeric(b[2:3])),with=F] no funciona ¿Cuál es la forma correcta de aplicar la función as.numeric a […]

R: cómo enlazar dos enormes marcos de datos sin quedarse sin memoria

Tengo dos marcos de datos df1 y df2 que tienen alrededor de 10 millones de filas y 4 columnas. Los leí en R usando RODBC / sqlQuery sin problemas, pero cuando trato de rbind , obtengo los mensajes de error más temidos: cannot allocate memory . Tiene que haber formas más eficientes de hacer un […]

¿Cómo se puede trabajar de manera totalmente genérica en data.table en R con nombres de columna en variables?

Antes que nada: gracias a @MattDowle; data.table es una de las mejores cosas que me han pasado desde que comencé a usar R Segundo: conozco muchas soluciones para varios casos de uso de nombres de columnas variables en data.table , que incluyen: Seleccionar / asignar a variables data.table qué nombres se almacenan en un vector […]

dplyr en data.table, ¿realmente estoy usando data.table?

Si utilizo la syntax de dplyr sobre una tabla de datos , ¿obtengo todos los beneficios de velocidad de la tabla de datos mientras uso la syntax de dplyr? En otras palabras, ¿mal uso de la tabla de datos si la consulto con la syntax dplyr? ¿O necesito usar syntax pura datatable para aprovechar toda […]

Computación eficiente de una combinación lineal de columnas data.table

Tengo nc columnas en un data.table, y nc escalares en un vector. Quiero tomar una combinación lineal de las columnas, pero no sé de antemano qué columnas usaré. ¿Cuál es la forma más eficiente de hacer esto? preparar require(data.table) set.seed(1) n <- 1e5 nc <- 5 cf <- setNames(rnorm(nc),LETTERS[1:nc]) DT <- setnames(data.table(replicate(nc,rnorm(n))),LETTERS[1:nc]) maneras de hacerlo […]

data.table – selecciona las primeras n filas dentro del grupo

Tan simple como es, no conozco una solución data.table para seleccionar las primeras n filas en grupos en una tabla de datos. ¿Puedes ayudarme?

Error ‘nul incrustado en cadena’ al importar csv con fread

Tengo un archivo grande (3.5G) que bash importar usando data.table::fread . Originalmente se creó a partir de un archivo rpt que se abrió como texto y se guardó como un archivo CSV. Esto ha funcionado bien con archivos más pequeños (del mismo tipo de datos, las mismas columnas y todo. Este es solo para un […]

Uso de lapply .SD en data.table R

No tengo muy claro el uso de .SD y by . Por ejemplo, ¿significa el siguiente fragmento: ‘cambiar todas las columnas en DT a factor excepto A y B ?’ También dice en el manual de data.table : ” .SD refiere al subconjunto de la data.table de data.table para cada grupo (excluyendo las columnas de […]

División de cadena de texto en una columna data.table

Tengo un script que lee los datos de un archivo CSV en un data.table y luego divide el texto en una columna en varias columnas nuevas. Actualmente estoy usando las funciones lapply y strsplit para hacer esto. Aquí hay un ejemplo: library(“data.table”) df = data.table(PREFIX = c(“A_B”,”A_C”,”A_D”,”B_A”,”B_C”,”B_D”), VALUE = 1:6) dt = as.data.table(df) # split […]

Enlace binario condicional y actualización por referencia utilizando el paquete data.table

Así que aquí está el problema de mi vida real que siento que se puede resolver fácilmente y me falta algo obvio aquí. Tengo dos grandes conjuntos de datos llamados TK y DFT library(data.table) set.seed(123) (TK <- data.table(venue_id = rep(1:3, each = 2), DFT_id = rep(1:3, 2), New_id = sample(1e4, 6), key = "DFT_id")) # […]