30  # EDA з використанням inspectdf


#install.packages("inspectdf")

31 Встановлення та завантаження пакету inspectdf

Мені подобається цей пакет, тому що він має багато функціональних можливостей і є надзвичайно простим у використанні. Коротко кажучи, він дозволяє зрозуміти та візуалізувати типи стовпців, розміри, значення, дисбаланс значень і розподіли, а також кореляції. Крім того, він дозволяє дуже легко виконувати будь-яку з вищезазначених функцій для окремого датафрейму або порівнювати відмінності між двома датафреймами.

library(inspectdf)
library(tidyverse)
df= read_csv('https://raw.githubusercontent.com/lgellis/STEM/master/DATA-ART-1/Data/FinalData.csv', col_names = TRUE)
Rows: 185 Columns: 17
── Column specification ────────────────────────────────────────────────────────────────────────────────────────────────
Delimiter: ","
chr (11): Gender, Horoscope, Subject, IntExt, OptPest, SpendTime1, SpendTime...
dbl  (6): ID, Grade, ScreenTime, Sleep, PhysActive, HrsHomework

ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
head(df, 10)
A tibble: 10 × 17
ID Gender Grade Horoscope Subject IntExt OptPest ScreenTime Sleep PhysActive HrsHomework SpendTime1 SpendTime2 Self1 Self2 Career Superpower
<dbl> <chr> <dbl> <chr> <chr> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <chr> <chr> <chr> <chr> <chr> <chr>
1 male 4 Scorpio Math Extravert Optimist 1 7 10 10 baseball relaxing active competitive professional baseball player sonic speed
2 female 4 Capricorn Gym Extravert Optimist 1 8 5 0 playing outside swimming kind active Teacher power to grant wishes
3 male 4 Taurus Math Introvert Optimist 4 9 22 1 video games soccer active creative professional soccer player powerful kick
4 male 4 Aquarius Math Don't Know Don't Know 3 9 9 1 video games sports active responsible professional hockey player teleportaion
5 male 4 Scorpio Gym Don't Know Don't Know 1 9 10 1 reading hanging out intellegent strong engineer power to answer any question
6 male 4 Pisces Gym Extravert Optimist 2 9 20 2 sports playing with friends funny active professional hockey player fly
7 male 3 Scorpio Art Introvert Optimist 1 11 4 14 watching TV reading joyful lazy artist telekinesis
8 male 6 Taurus Math Extravert Optimist 4 9 12 21 video games playing outside fun confident banker teleportation
9 male 6 Aries Gym Introvert Pessimist 6 8 4 6 video games biking sad calm computer scientist materialize anything
10 male 6 Pisces Math Introvert Don't Know 3 9 12 3 video games dungeons and dragons smart tired Teacher manipulating physics
dim(df)
  1. 185
  2. 17

32 Створення необхідних датафреймів

Нам потрібні три датафрейми. Нам потрібен один датафрейм з повним набором даних. Ми просто перейменовуємо df на allGrades. Нам також потрібні два піднабори даних, щоб використовувати прості функції порівняння датафреймів пакету. Ми створюємо датафрейми oldGrades (6-8) та youngGrades (3-5).

allGrades <- df

oldGrades <- allGrades %>% 
  filter(Grade > 5)

youngGrades <- allGrades %>% 
  filter(Grade < 6)
ggplot(oldGrades, aes(x=Grade)) + geom_histogram()
`stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

ggplot(youngGrades, aes(x=Grade)) + geom_histogram()
`stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

33 Виконання функцій пакету inspectdf

Просто передайте датафрейм або два (для порівняння) і встановіть show_plot = TRUE. Вихідні дані включатимуть як tibble з сирими даними, так і візуалізацію.

33.1 1 Оцінка типів стовпців датафрейму за допомогою функції inspect_types()

33.1.1 a) Оцінка повного датафрейму: allGrades

inspect_types(allGrades) %>% show_plot()

33.1.2 b) Порівняння між youngGrades та oldGrades

inspect_types(youngGrades, oldGrades) %>% show_plot()

33.2 2 Оцінка використання пам’яті стовпцями датафрейму за допомогою функції inspect_mem()

33.2.1 a) Оцінка повного датафрейму: allGrades

inspect_mem(allGrades) %>% show_plot()

33.2.2 b) Порівняння між youngGrades та oldGrades

inspect_mem(youngGrades, oldGrades) %>% show_plot()

33.3 3 Оцінка поширеності NA в датафреймі за допомогою функції inspect_na()

33.3.1 a) Оцінка повного датафрейму: allGrades

inspect_na(allGrades) %>% show_plot()

33.3.2 b) Порівняння між youngGrades та oldGrades

inspect_na(youngGrades, oldGrades) %>% show_plot()

33.4 4 Оцінка розподілу числових стовпців за допомогою функції inspect_num()

33.4.1 a) Оцінка повного датафрейму: allGrades

inspect_num(allGrades) %>% show_plot()

33.4.2 b) Порівняння між youngGrades та oldGrades

inspect_num(youngGrades) %>% show_plot()

inspect_num(oldGrades) %>% show_plot()

33.5 5 Оцінка можливого дисбалансу категоріальних стовпців за допомогою функції inspect_imb() для виявлення факторів, які можуть бути надмірно поширеними.

33.5.1 a) Оцінка повного датафрейму: allGrades

inspect_imb(allGrades) %>% show_plot()

33.5.2 b) Порівняння між youngGrades та oldGrades

33.5.3 b) Порівняння між youngGrades та oldGrades

inspect_imb(youngGrades, oldGrades) %>% show_plot()

33.6 6 Оцінка розподілу категоріальних стовпців за допомогою функції inspect_cat()

33.6.1 a) Оцінка повного датафрейму: allGrades

inspect_cat(allGrades) %>% show_plot()

33.6.2 b) Порівняння між youngGrades та oldGrades

inspect_cat(youngGrades, oldGrades) %>% show_plot()

33.7 7 Evaluate the## 7 Оцінка кореляцій між стовпцями за допомогою функції inspect_cor()

33.7.1 a) Оцінка повного датафрейму: allGrade

inspect_cor(allGrades) %>% show_plot()

33.7.2 b) Порівняння між youngGrades та oldGrades

inspect_cor(youngGrades, oldGrades) %>% show_plot()