Número de filas y columnas en R
Devuelve el número de filas o columnas de un data frame o matriz con las funciones nrow
, ncol
y aprende la diferencia entre ellas y las funciones NCOL
y NROW
. También aprenderás a devolver o establecer tanto el número de filas como de columnas con dim
.
Número de columnas con ncol
Considera el siguiente data frame llamado df
:
df <- data.frame(x = 1:5, y = LETTERS[1:5])
# Imprimimos el data frame
df
x y
1 1 A
2 2 B
3 3 C
4 4 D
5 5 E
Inspeccionando el data frame puedes ver que tiene dos columnas, pero si tiene muchas columnas o quieres obtener ese número programáticamente puedes usar la función ncol
pasando el data frame como entrada:
ncol(df)
2
La función ncol
también proporciona el número de columnas de una matriz. Consideremos la siguiente matriz de ejemplo llamada m
.
m <- matrix(data = 1:15, ncol = 5)
# Imprimimos la matriz
m
[,1] [,2] [,3] [,4] [,5]
[1,] 1 4 7 10 13
[2,] 2 5 8 11 14
[3,] 3 6 9 12 15
Puedes obtener el número de columnas de m
pasando la matriz como entrada a la función. En este caso vemos que la matriz tiene 5 columnas.
ncol(m)
5
R proporciona una función llamada NCOL
que hace lo mismo que ncol
pero trata los vectores como una matriz de una columna. Esto significa que si aplicas ncol
a un vector obtendrás un valor NULL
pero si aplicas NCOL
obtendrás un 1.
x <- 1:5
ncol(x) # NULL
NCOL(x) # 1
ncol(NULL) # NULL
NCOL(NULL) # 1
Número de filas con nrow
Considera el mismo data frame de la sección anterior:
df <- data.frame(x = 1:5, y = LETTERS[1:5])
# Imprimimos el data frame
df
x y
1 1 A
2 2 B
3 3 C
4 4 D
5 5 E
Puedes obtener el número de filas pasando el data frame como entrada. En este caso el número de filas del data frame es 5.
nrow(df)
5
La función también funciona para matrices. Considera la siguiente matriz de ejemplo:
m <- matrix(data = 1:15, ncol = 5)
# Imprimimos la matriz
m
[,1] [,2] [,3] [,4] [,5]
[1,] 1 4 7 10 13
[2,] 2 5 8 11 14
[3,] 3 6 9 12 15
Si quieres obtener el número de filas de la matriz anterior puedes utilizar la función nrow
de la siguiente manera. En este ejemplo la matriz tiene 3 filas.
nrow(m)
3
R también proporciona una función llamada NROW
que hace lo mismo que nrow
pero trata los vectores como una matriz de una columna, por lo que cada elemento del vector será tratado como una fila. Esto significa que si aplicas nrow
a un vector obtendrás un valor NULL
pero si aplicas NROW
obtendrás el número de elementos del vector.
x <- 1:5
nrow(x) # NULL
NROW(x) # 5
nrow(NULL) # NULL
NROW(NULL) # 0
Obtener o establecer las dimensiones con dim
La función dim
puede utilizarse para devolver las dimensiones de un objeto, es decir, tanto el número de filas como el de columnas.
df <- data.frame(x = 1:5, y = LETTERS[1:5])
dim(df)
5 2
El primer elemento de la salida es el número de filas y el segundo el número de columnas del data frame de muestra.
Sin embargo, esta función también puede utilizarse para establecer las dimensiones de un objeto. Considera el siguiente vector de ejemplo:
x <- 1:10
# Print x
x
1 2 3 4 5 6 7 8 9 10
Si aplicas la función dim
obtendrás un NULL
, ya que el objeto no tiene dimensiones.
dim(x)
NULL
No obstante, puedes establecer las dimensiones asignando un vector con las dimensiones deseadas. En el ejemplo siguiente establecemos 2 filas y 5 columnas, por lo que el vector se transforma en una matriz.
dim(x) <- c(2, 5)
# Print x
x
[,1] [,2] [,3] [,4] [,5]
[1,] 1 3 5 7 9
[2,] 2 4 6 8 10
Ahora puedes comprobar que las dimensiones del objeto son las especificadas:
dim(x)
2 5