1. Nauka
  2. /
  3. Kursy
  4. /
  5. Eksploracyjna analiza danych w R

Connected

ćwiczenie

Integralność danych

Podczas eksploracji zbioru danych czasem natkniesz się na coś, co skłoni cię do zastanowienia się, jak dane zostały zebrane. Na przykład zmienna num_char zawiera liczbę znaków w wiadomości e-mail (w tysiącach), więc może przyjmować wartości dziesiętne – ale z pewnością nie powinna przyjmować wartości ujemnych.

Można sformułować test sprawdzający, czy zmienna zachowuje się zgodnie z oczekiwaniami:

email$num_char < 0

Jeśli uruchomisz ten kod w konsoli, otrzymasz długi wektor wartości logicznych, wskazujący dla każdego przypadku w zbiorze danych, czy dany warunek jest TRUE. W tym przypadku pierwsze 1000 wartości okazuje się być FALSE. Aby upewnić się, że wszystkie przypadki mają nieujemne wartości zmiennej num_char, możemy obliczyć sumę tego wektora:

sum(email$num_char < 0)

To przydatny skrót. Gdy wykonujesz działania arytmetyczne na wartościach logicznych, R traktuje TRUE jako 1, a FALSE jako 0. Ponieważ suma całego wektora wynosi zero, wiadomo, że każdy przypadek w zbiorze danych przyjął wartość FALSE w tym teście. Oznacza to, że kolumna num_char zachowuje się zgodnie z oczekiwaniami i przyjmuje wyłącznie wartości nieujemne.

Instrukcje

100 XP

Przyjrzyj się zmiennym image i attach. Możesz przeczytać o nich w dokumentacji za pomocą ?email, ale plik pomocy jest niejednoznaczny: czy załączone obrazy są liczone jako załączone pliki w tym zbiorze danych?

Zaprojektuj prosty test, który to sprawdzi. Polega on na stworzeniu warunku logicznego porównującego wartości obu zmiennych, a następnie użyciu funkcji sum() do oceny każdego przypadku w zbiorze danych. Przypomnij sobie, że operatory logiczne to: < (mniejszy niż), <= (mniejszy lub równy), > (większy niż), >= (większy lub równy) oraz == (równy).