La columna en un índice específico se puede extraer utilizando la subconfiguración de la lista, es decir, [[, operador. El operador de doble paréntesis es más rápido en comparación con el de un solo paréntesis y se puede utilizar para extraer el nivel del elemento o factor en el índice especificado. En caso de que se especifique un índice mayor que el número de filas, se devuelve una excepción que indica que el índice está fuera de los límites. El operador de corchete único [, no se puede usar aquí, porque devuelve un subconjunto de la tabla de datos, que es un elemento data.table como salida, no un vector atómico. Se requiere un tiempo constante para realizar esta operación.
Ejemplo:
R
library("data.table") # declaring data table data_frame <- data.table(col1 = c(2,4,6), col2 = c(4,6,8), col3 = c(8,10,12), col4 = c(20,16,14)) print ("Original DataTable") print (data_frame) # extracting column 2 print ("Column 2 as a vector") vec <- data_frame[[2]] print (vec)
Producción
[1] «Tabla de datos original»
col1 col2 col3 col4
1: 2 4 8 20
2: 4 6 10 16
3: 6 8 12 14
[1] “Columna 2 como vector”
[1] 4 6 8
Cada columna de la tabla de datos también se puede extraer en un vector separado, recorriendo toda la tabla de datos. El método ncol() se puede usar para devolver el número total de columnas en la tabla de datos. El tiempo total requerido para realizar esta operación es equivalente a O(n), donde n son las columnas.
Ejemplo:
R
# getting required libraries library("data.table") # declaring data table data_table <- data.table(col1 = c(2,4,6), col2 = FALSE, col3 = LETTERS[1:3]) print ("Original DataTable") print (data_table) # getting number of columns cols <- ncol(data_table) # looping through columns for (i in 1:cols){ # getting ith col cat(i, "th col \n") print(data_table[[i]]) }
Producción
[1] «Tabla de datos original»
col1 col2 col3
1: 2 FALSO A
2: 4 FALSO B
3: 6 FALSO C
1ª columna
[1] 2 4 6
2ª columna
[1] FALSO FALSO FALSO
3ª columna
[1] “A” “B” “C”
Publicación traducida automáticamente
Artículo escrito por mallikagupta90 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA