Polecam również rzucić okiem, 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.).
@Joris - Punkt wzięty (bez obrazy), ale miałem wrażenie, że strony SE zostały zaprojektowane w celu wspierania uczenia się problemu / rozwiązania w sposób, który nie jest dostępny w instrukcjach. Dodatkowo, to pytanie będzie teraz dostępne dla innych początkujących. Dzięki za linki.
Tom Wright,
2
Nie zgadzam się z twoim twierdzeniem, że to pytanie będzie pomocne dla innych początkujących, szczególnie jeśli nie przejrzą instrukcji. Po prostu utworzą duplikat pytania.
Joshua Ulrich,
6
Cztery lata później jest to drugi hit, jaki dostałem w Google, próbując znaleźć odpowiedź na to pytanie. Nie muszę tworzyć duplikatu (@JoshuaUlrich).
Richard
Odpowiedzi:
173
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
1260.07730312237-0.29686864357-1.183242244910.011292695200.991601046901.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.
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, npsummary(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.).Odpowiedzi:
dataset
będzie ramką danych. Ponieważ nie mamforR.csv
, utworzę małą ramkę danych dla ilustracji:Aby uzyskać liczbę obserwacji, policz liczbę wierszy za pomocą
nrow()
lubNROW()
:Aby policzyć dane po pomijając
NA
, używają tych samych narzędzi, ale owinąćdataset
wna.omit()
:Różnica pomiędzy
NROW()
iNCOL()
ich małymi wariantami (ncol()
inrow()
) 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()
isum
it (complete.cases()
zwraca wektor logiczny [TRUE
lubFALSE
] wskazujący, czy jakieś obserwacje dotycząNA
dowolnego wiersza.źródło
Krótko:
Uruchom,
dim(dataset)
aby pobrać zarówno n, jak i k , możesz także użyćnrow(df)
incol(df)
(a nawetNROW(df)
iNCOL(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, npsummary(dataset)
. Przypadki NA zostaną uwzględnione.źródło