Po przeczytaniu zestawu danych:
dataset <- read.csv("forR.csv")
- Jak mogę sprawić, by R podał mi liczbę skrzynek, które zawiera?
- Czy zwrócona wartość obejmie również przypadki wykluczenia pominięte w
na.omit(dataset)
?
Po przeczytaniu zestawu danych:
dataset <- read.csv("forR.csv")
na.omit(dataset)
?Odpowiedzi:
dataset
będzie ramką danych. Ponieważ nie mam forR.csv
, utworzę małą ramkę danych dla ilustracji:
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
Aby uzyskać liczbę obserwacji, policz liczbę wierszy za pomocą nrow()
lub NROW()
:
> nrow(dataset)
[1] 1000
> NROW(dataset)
[1] 1000
Aby policzyć dane po pomijając NA
, używają tych samych narzędzi, ale owinąć dataset
w na.omit()
:
> NROW(na.omit(dataset))
[1] 993
Różnica pomiędzy NROW()
i NCOL()
ich małymi wariantami ( ncol()
i nrow()
) polega na tym, że małe litery będą działać tylko dla obiektów, które mają wymiary (tablice, macierze, ramki danych). Wersje z dużymi literami będą działać z wektorami, które są traktowane tak, jakby były macierzą 1-kolumnową, i są niezawodne, jeśli w rezultacie podetniesz dane tak, że R upuści pusty wymiar.
Alternatywnie, użyj complete.cases()
i sum
it ( complete.cases()
zwraca wektor logiczny [ TRUE
lub FALSE
] wskazujący, czy jakieś obserwacje dotyczą NA
dowolnego wiersza.
> sum(complete.cases(dataset))
[1] 993
Krótko:
Uruchom, dim(dataset)
aby pobrać zarówno n, jak i k , możesz także użyć nrow(df)
i ncol(df)
(a nawet NROW(df)
i NCOL(df)
- warianty są potrzebne również dla innych typów).
Jeśli przekształcisz np. Przez dataset <- na.omit(dataset)
, wtedy przypadki znikną i nie zostaną policzone. Ale jeśli to zrobisz, np summary(dataset)
. Przypadki NA zostaną uwzględnione.
str()
ponieważ zawiera on inne przydatne szczegóły dotyczące Twojego obiektu. Często tłumaczy, dlaczego kolumna nie zachowuje się tak, jak powinna (czynnik zamiast numeryczny itp.).