Também recomendo dar uma olhada str(), pois fornece outros detalhes úteis sobre o seu objeto. Muitas vezes, pode explicar por que uma coluna não está se comportando como deveria (fator em vez de numérico, etc.).
@Joris - O que foi dito (sem ofensa), mas fiquei com a impressão de que os sites da SE foram projetados para promover o aprendizado de problemas / soluções de uma maneira que não é oferecida pelos manuais. Além disso, esta pergunta estará disponível para outros iniciantes. Obrigado pelos links embora.
Tom Wright
2
Não concordo com a sua afirmação de que esta pergunta será útil para outros iniciantes, principalmente se eles não consultarem o manual. Eles apenas criarão uma pergunta duplicada.
Joshua Ulrich
6
E, quatro anos depois, este é o segundo sucesso que recebi no Google tentando encontrar uma resposta para essa pergunta. Não há necessidade de criar uma duplicata (@JoshuaUlrich).
Richard
Respostas:
173
datasetserá um quadro de dados. Como não tenho forR.csv, criarei um pequeno quadro de dados para ilustração:
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 obter o número de casos, conte o número de linhas usando nrow()ou NROW():
> nrow(dataset)[1]1000> NROW(dataset)[1]1000
Para contar os dados após omitindo o NA, usar as mesmas ferramentas, mas embrulhar datasetem na.omit():
> NROW(na.omit(dataset))[1]993
A diferença entre NROW()e NCOL()suas variantes em minúsculas ( ncol()e nrow()) é que as versões em minúsculas funcionam apenas para objetos que possuem dimensões (matrizes, matrizes, quadros de dados). As versões em maiúsculas funcionarão com vetores, que são tratados como se fossem uma matriz de 1 coluna e são robustas se você acabar configurando seus dados de forma que R solte uma dimensão vazia.
Como alternativa, use complete.cases()e sum( complete.cases()retorna um vetor lógico [ TRUEou FALSE] indicando se alguma observação é NApara alguma linha.
Executar dim(dataset)para recuperar tanto n e k , você também pode usar nrow(df)e ncol(df)(e até mesmo NROW(df)e NCOL(df)- variantes são necessários para outros tipos também).
Se você transformar, por exemplo dataset <- na.omit(dataset), via , os casos desaparecerão e não serão contados. Mas se você faz, por exemplo,summary(dataset) os casos de NA são contabilizados.
str()
, pois fornece outros detalhes úteis sobre o seu objeto. Muitas vezes, pode explicar por que uma coluna não está se comportando como deveria (fator em vez de numérico, etc.).Respostas:
dataset
será um quadro de dados. Como não tenhoforR.csv
, criarei um pequeno quadro de dados para ilustração:Para obter o número de casos, conte o número de linhas usando
nrow()
ouNROW()
:Para contar os dados após omitindo o
NA
, usar as mesmas ferramentas, mas embrulhardataset
emna.omit()
:A diferença entre
NROW()
eNCOL()
suas variantes em minúsculas (ncol()
enrow()
) é que as versões em minúsculas funcionam apenas para objetos que possuem dimensões (matrizes, matrizes, quadros de dados). As versões em maiúsculas funcionarão com vetores, que são tratados como se fossem uma matriz de 1 coluna e são robustas se você acabar configurando seus dados de forma que R solte uma dimensão vazia.Como alternativa, use
complete.cases()
esum
(complete.cases()
retorna um vetor lógico [TRUE
ouFALSE
] indicando se alguma observação éNA
para alguma linha.fonte
Resumidamente:
Executar
dim(dataset)
para recuperar tanto n e k , você também pode usarnrow(df)
encol(df)
(e até mesmoNROW(df)
eNCOL(df)
- variantes são necessários para outros tipos também).Se você transformar, por exemplo
dataset <- na.omit(dataset)
, via , os casos desaparecerão e não serão contados. Mas se você faz, por exemplo,summary(dataset)
os casos de NA são contabilizados.fonte