Depois de ler um conjunto de dados:
dataset <- read.csv("forR.csv")
- Como posso obter o R para me fornecer o número de casos que ele contém?
- Além disso, o valor retornado incluirá casos de exclusão omitidos com
na.omit(dataset)
?
Depois de ler um conjunto de dados:
dataset <- read.csv("forR.csv")
na.omit(dataset)
?Respostas:
dataset
será 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 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 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 dataset
em 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 [ TRUE
ou FALSE
] indicando se alguma observação é NA
para alguma linha.
> sum(complete.cases(dataset))
[1] 993
Resumidamente:
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.).