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:
datasetbę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ąć datasetw 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 sumit ( complete.cases()zwraca wektor logiczny [ TRUElub FALSE] wskazujący, czy jakieś obserwacje dotyczą NAdowolnego 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.).