vacio seleccionar listas leer filas extraer eliminar elementos data crear contar columnas r data.table

seleccionar - leer listas en r



pasar el nombre de la columna en data.table usando la variable en R (1)

Posible duplicado:
Selección / asignación variables a campos en un data.table

En el siguiente ejemplo, estoy creando una tabla de datos con el nombre de columna ''x'' y ''v''

library(''data.table'') DT = data.table(x=c("b","b","b","a","a"),v=rnorm(5)) DT$ DT$v DT$x

Puedo acceder a los valores de la columna ''x'' de la siguiente manera:

DT[,x] [1] "b" "b" "b" "a" "a"

Pero si quiero acceder pasando una variable, no funciona

temp="x" DT[,temp] [1] "x"

Habría varias columnas y tendré que seleccionar valores solo para dos de ellas. Estos nombres de columna se proporcionarán pasando a través de un módulo R.

No importa, lo tengo

Lo tengo ... debería ser

DT[,get(temp)]


Use las funciones quote () y eval () para pasar una variable a j. No necesita comillas dobles en los nombres de las columnas cuando lo hace de esta manera, porque la cadena de citas () - ed se evaluará dentro del DT []

temp <- quote(x) DT[,eval(temp)] # [1] "b" "b" "b" "a" "a"

Con un solo nombre de columna, el resultado es un vector. Si desea un resultado de tabla de datos o varias columnas, use el formulario de lista

temp <- quote(list(x,v)) DT[,eval(temp)] # x v # 1: b 1.52566586 # 2: b 0.66057253 # 3: b -1.29654641 # 4: a -1.71998260 # 5: a 0.03159933