188 votos

¿Cómo puedo obtener el número de filas de un data.frame en R?

Después de leer un conjunto de datos:

dataset <- read.csv("forR.csv")
  • ¿Cómo puedo hacer que R me dé el número de casos que contiene?
  • Además, el valor devuelto incluirá o excluirá los casos omitidos con na.omit(dataset) ?

215voto

David J. Sokol Puntos 1730

dataset será un marco de datos. Como no tengo forR.csv Voy a hacer un pequeño marco de datos para ilustrar:

set.seed(1)
dataset <- data.frame(A = sample(c(NA, 1:100), 1000, rep = TRUE),
                      B = rnorm(1000))

> head(dataset)
   A           B
1 26  0.07730312
2 37 -0.29686864
3 57 -1.18324224
4 91  0.01129269
5 20  0.99160104
6 90  1.59396745

Para obtener el número de casos, cuente el número de filas utilizando nrow() o NROW() :

> nrow(dataset)
[1] 1000
> NROW(dataset)
[1] 1000

Para contar los datos después de omitir el NA Utiliza las mismas herramientas, pero envuelve dataset en na.omit() :

> NROW(na.omit(dataset))
[1] 993

La diferencia entre NROW() y NCOL() y sus variantes en minúsculas ( ncol() y nrow() ) es que las versiones en minúsculas sólo funcionarán para objetos que tengan dimensiones (arrays, matrices, marcos de datos). Las versiones en mayúsculas funcionarán con vectores, que se tratan como si fueran una matriz de 1 columna, y son robustas si acabas subconjuntando tus datos de forma que R deja caer una dimensión vacía.

Como alternativa, utilice complete.cases() y sum es ( complete.cases() devuelve un vector lógico [ TRUE o FALSE ] indicando si hay observaciones NA para cualquier fila.

> sum(complete.cases(dataset))
[1] 993

40voto

Jay Puntos 395

Brevemente:

  1. Ejecutar dim(dataset) para recuperar ambos n y k También puede utilizar nrow(df) y ncol(df) (e incluso NROW(df) y NCOL(df) -- también se necesitan variantes para otros tipos).

  2. Si se transforma, por ejemplo, a través de dataset <- na.omit(dataset) Entonces los casos desaparecen y no se cuentan. Pero si lo hace Por ejemplo summary(dataset) los casos de NA están contabilizados.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X