También recomiendo echar un vistazo, str()ya que proporciona otros detalles útiles sobre su objeto. A menudo puede explicar por qué una columna no se comporta como debería (factor en lugar de numérico, etc.).
Chase
3
Lea primero la guía R de Owen ( cran.r-project.org/doc/contrib/Owen-TheRGuide.pdf ) y, si es posible, Introducción a R ( cran.r-project.org/doc/manuals/R- intro.pdf ). Ambos están en el sitio web oficial de R. Eres increíblemente afortunado de que realmente obtengas una respuesta. En la lista de r-help, uno lo redirigiría al manual en términos menos elegantes. Sin ofender.
Joris Meys
11
@Joris: punto tomado (sin ofender), pero tuve la impresión de que los sitios de SE fueron diseñados para fomentar el aprendizaje de problemas / soluciones de una manera que no es posible en los manuales. Además, esta pregunta ahora estará disponible para otros principiantes. Gracias por los enlaces sin embargo.
Tom Wright
2
No estoy de acuerdo con su afirmación de que esta pregunta será útil para otros principiantes, especialmente si no leen el manual. Simplemente crearán una pregunta duplicada.
Joshua Ulrich
66
Y, cuatro años después, este es el segundo éxito que recibí en Google tratando de encontrar una respuesta a esta pregunta. No es necesario que cree un duplicado (@JoshuaUlrich).
Richard
Respuestas:
174
datasetSerá un marco de datos. Como no tengo forR.csv, inventaré un pequeño marco de datos para ilustración:
set.seed(1)
dataset <- data.frame(A = sample(c(NA,1:100),1000, rep = TRUE),
B = rnorm(1000))> head(dataset)
A B1260.07730312237-0.29686864357-1.183242244910.011292695200.991601046901.59396745
Para obtener el número de casos, cuente el número de filas usando nrow()o NROW():
> nrow(dataset)[1]1000> NROW(dataset)[1]1000
Para contar los datos después de la omisión de la NA, utilizar las mismas herramientas, pero envolver dataseten 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 solo funcionarán para objetos que tengan dimensiones (matrices, matrices, marcos de datos). Las versiones en mayúscula funcionarán con vectores, que se tratan como si fueran una matriz de 1 columna, y son robustos si terminas subconjustando tus datos de modo que R descarte una dimensión vacía.
Alternativamente, úselo complete.cases()y sum( complete.cases()devuelve un vector lógico [ TRUEo FALSE] que indica si alguna observación es NApara alguna fila.
Ejecute dim(dataset)para recuperar tanto n como k , también puede usar nrow(df)y ncol(df)(e incluso NROW(df)y NCOL(df)- también se necesitan variantes para otros tipos).
Si transforma, por ejemplo dataset <- na.omit(dataset), via , los casos desaparecen y no se cuentan. Pero si lo hace, por ejemplo,summary(dataset) los casos de NA se contabilizan.
str()
ya que proporciona otros detalles útiles sobre su objeto. A menudo puede explicar por qué una columna no se comporta como debería (factor en lugar de numérico, etc.).Respuestas:
dataset
Será un marco de datos. Como no tengoforR.csv
, inventaré un pequeño marco de datos para ilustración:Para obtener el número de casos, cuente el número de filas usando
nrow()
oNROW()
:Para contar los datos después de la omisión de la
NA
, utilizar las mismas herramientas, pero envolverdataset
enna.omit()
:La diferencia entre
NROW()
yNCOL()
y sus variantes en minúsculas (ncol()
ynrow()
) es que las versiones en minúsculas solo funcionarán para objetos que tengan dimensiones (matrices, matrices, marcos de datos). Las versiones en mayúscula funcionarán con vectores, que se tratan como si fueran una matriz de 1 columna, y son robustos si terminas subconjustando tus datos de modo que R descarte una dimensión vacía.Alternativamente, úselo
complete.cases()
ysum
(complete.cases()
devuelve un vector lógico [TRUE
oFALSE
] que indica si alguna observación esNA
para alguna fila.fuente
Brevemente:
Ejecute
dim(dataset)
para recuperar tanto n como k , también puede usarnrow(df)
yncol(df)
(e inclusoNROW(df)
yNCOL(df)
- también se necesitan variantes para otros tipos).Si transforma, por ejemplo
dataset <- na.omit(dataset)
, via , los casos desaparecen y no se cuentan. Pero si lo hace, por ejemplo,summary(dataset)
los casos de NA se contabilizan.fuente