dataset
будет фрейм данных. Поскольку у меня нет forR.csv
, я создам небольшой фрейм данных для иллюстрации:
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
Чтобы получить количество наблюдений, посчитайте количество строк, используя nrow()
или NROW()
:
> nrow(dataset)
[1] 1000
> NROW(dataset)
[1] 1000
Для подсчета данных после того, как опуская NA
, использовать те же инструменты, но обернуть dataset
в na.omit()
:
> NROW(na.omit(dataset))
[1] 993
Разница между NROW()
и NCOL()
и их строчными вариантами ( ncol()
и nrow()
) заключается в том, что строчные версии будут работать только для объектов, имеющих измерения (массивы, матрицы, фреймы данных). Версии в верхнем регистре будут работать с векторами, которые обрабатываются так, как если бы они были матрицей из 1 столбца, и являются надежными, если в итоге вы поднастроили свои данные так, что R отбрасывает пустое измерение.
В качестве альтернативы используйте complete.cases()
and sum
it ( complete.cases()
возвращает логический вектор [ TRUE
или FALSE
], указывающий, имеются ли какие-либо наблюдения NA
для каких-либо строк.
> sum(complete.cases(dataset))
[1] 993
str()
поскольку он предоставляет другие полезные сведения о вашем объекте. Часто можно объяснить, почему столбец ведет себя не так, как должен (коэффициент вместо числа и т. Д.).