data.table

Entendiendo exactamente cuándo un dato.la tabla es una referencia a (frente a una copia de) otros datos.tabla

Estoy teniendo un pequeño problema para entender las propiedades de paso por referencia de data.table. Algunas operaciones pa ... , para asegurar que no introduzco errores potenciales en mi código. Agradecería mucho si alguien pudiera explicar esto a me.

Por qué se fusionaron pandas en python más rápido que los datos.mesa se fusiona en R en 2012?

Recientemente me encontré con la biblioteca pandas para python, que de acuerdo con este benchmark realiza fusiones muy rápi ... ALSE) y merge(X, Y, all=TRUE)? Aquí está el código R y el código Python utilizado para comparar los diversos paquetes.

Cómo se elimina una columna por nombre en datos.¿mesa?

Para deshacerse de una columna llamada "foo" en a data.frame, puedo hacer: df <- df[-grep('foo', colnames(df))] Sin emb ... ta.table(df) df3[-grep('foo', colnames(df3))] Pero una vez que se convierte en un objeto data.table, esto ya no funciona.

Sustitución del NAs por el último valor no NA

En un dato.marco (o datos.tabla), me gustaría "llenar hacia adelante" NAs con el valor anterior no-NA más cercano. Un ejemplo ... Producto > y [1] NA 2 2 2 2 3 3 3 4 4 4 ... lo que parece funcionar. Pero, hombre, es feo! Alguna sugerencia?

Por qué X[Y] se une a los datos.las tablas no permiten una unión exterior completa, o una unión izquierda?

Esta es una pregunta filosófica sobre los datos.sintaxis de unión de tabla. Estoy encontrando cada vez más usos para los dato ... no, externo, izquierdo, derecha)? proporciona algunos ejemplos de tipos de unión adicionales que data.la tabla puede manejar.

¿Por qué es rbindlist "mejor" que rbind?

Estoy revisando la documentación de data.table y también me di cuenta de algunas de las conversaciones de aquí en adelante, d ... y en qué escenarios rbindlist realmente sobresale sobre rbind? ¿Hay alguna ventaja en términos de utilización de memoria?

La forma más rápida de reemplazar el NAs en un gran volumen de datos.tabla

Tengo un gran datos.tabla, con muchos valores faltantes dispersos en sus ~200k filas y 200 columnas. Me gustaría re codifica ... ción bastante eficiente de tipo 1. Convertir a un dato.frame y luego de vuelta a un data.la mesa no aguanta demasiado tiempo.

Asigne varias columnas usando: = in data.cuadro por grupo

¿Cuál es la mejor manera de asignar a múltiples columnas usando data.table? Por ejemplo: f <- function(x) {c("hi", "hell ... ría hacer: x[ , col_names := another_f(), by = "id", with = FALSE] ¿Cuál es la forma correcta de hacer algo como esto?

Cuál es el propósito de establecer una clave en los datos.¿mesa?

Estoy usando datos.tabla y hay muchas funciones que me requieren para establecer una clave (por ejemplo, X[Y]). Como tal, des ... ás confuso, ya que no sé si se me permite establecer cualquier otra columna como clave. ¿Puede alguien iluminarme, por favor?

Cómo reordenar datos.columnas de tabla (sin copiar)

Me gustaría reordenar las columnas en mi data.table x, dado un vector de caracteres de nombres de columna, neworder: library ... 787768 2 2 # 3: 0.3570803 1 3 Pero eso requeriría copiar todo el conjunto de datos de nuevo. Hay otra manera de hacer esto?

Cuándo debo usar el operador:= en data.¿mesa?

data.table los objetos ahora tienen un operador:=. ¿Qué hace que este operador sea diferente de todos los demás operadores de asignación? Además, ¿cuáles son sus usos, cuánto más rápido es y cuándo debe evitarse?

Seleccionar / asignar a datos.tabla cuando los nombres de variables se almacenan en un vector de caracteres

¿Cómo se refiere a las variables en un data.table si los nombres de las variables se almacenan en un vector de caracteres? P ... ión para un dato?table, either with or without := notation? Lo obvio de dt[ , list(colname)] no funciona (ni lo esperaba).

Extraer una columna de un dato.tabla como vector, por posición

Cómo extraigo una columna de un dato.tabla como un vector por su posición? A continuación se presentan algunos fragmentos de ... quote(names(DT)[2]),with=FALSE] # Not a vector # y #1: 3 #2: 4 is.vector(DT[,noquote(names(DT)[2]),with=FALSE]) #[1] FALSE

dplyr on data.tabla, realmente estoy usando datos.¿mesa?

Si utilizo la sintaxis dplyr encima de una datatable, ¿obtengo todos los beneficios de velocidad de datatable mientras sigo u ... , MedianPrice = as.numeric(median(price)), Count = .N), by=cut ] [ order(-Count) ]

Filtrar filas duplicadas / no únicas en los datos.tabla

Tengo una tabla data.table con aproximadamente 2,5 millones de filas. Hay dos columnas. Quiero eliminar cualquier fila que es ... s = c(NA, -10L), class = c("data.table", "data.frame"), .internal.selfref = <pointer: 0x7fb4c4804578>, sorted = "V2")

Pase el nombre de la columna en los datos.tabla usando variable [duplicar]

Posible Duplicado:Selección/asignación variable a campos en un dato.cuadro En el siguiente ejemplo, estoy creando un ... Estos nombres de columna I se proporcionará pasando por un módulo R. No importa, lo tengo, debería ser: DT[ , get(temp)]

Dividir cadena de texto en un dato.columnas de la tabla

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 columna ... [", 2)) }) # user system elapsed # 33.185 0.000 33.191 Así que el método str_split_fixed tarda unas 20 veces más.

Limpieza de valores ' Inf` de un dataframe R

En R, tengo una operación que crea algunos valores Inf cuando transformo un dataframe. Me gustaría convertir estos valores ... x[,i][is.infinite(x[,i])] = NA } return(x) } Pero no creo que esto esté realmente usando el poder de R.

Utilice un valor de la fila anterior en un dato R.cálculo de la tabla

Quiero crear una nueva columna en un dato.tabla calculada a partir del valor actual de una columna y el anterior de otra. Es ... a correcta debe ser > DT A B C D 1: 1 10 100 NA 2: 2 20 200 210 3: 3 30 300 320 4: 4 40 400 430 5: 5 50 500 540

Agregue varias columnas a los datos de R.tabla en una llamada de función?

Tengo una función que devuelve dos valores en una lista. Ambos valores deben añadirse a un dato.tabla en dos nuevas columnas. ... en un entorno separado cada vez que llame a myfun, solo necesito una forma de agregar dos columnas por referencia a la vez.