library(MKinfer)
## Warning: pakiet 'MKinfer' został zbudowany w wersji R 4.2.3
library("ggplot2")
## Warning: pakiet 'ggplot2' został zbudowany w wersji R 4.2.3
Przykład 1. Czy samochody z automatyczną i manualną skrzynią biegów mają istotnie różne spalanie?
data(mtcars)
wyniki<-boot.t.test(mpg~am,R=999,data=mtcars)
wyniki
##
## Bootstrap Welch Two Sample t-test
##
## data: mpg by am
## bootstrap p-value < 2.2e-16
## bootstrap difference of means (SE) = -7.241279 (1.84693)
## 95 percent bootstrap percentile confidence interval:
## -10.806903 -3.733401
##
## Results without bootstrap:
## t = -3.7671, df = 18.332, p-value = 0.001374
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -11.280194 -3.209684
## sample estimates:
## mean in group 0 mean in group 1
## 17.14737 24.39231
# z wizualizacją:
library(ggstatsplot)
## Warning: pakiet 'ggstatsplot' został zbudowany w wersji R 4.2.3
## You can cite this package as:
## Patil, I. (2021). Visualizations with statistical details: The 'ggstatsplot' approach.
## Journal of Open Source Software, 6(61), 3167, doi:10.21105/joss.03167
ggbetweenstats(
data=mtcars,
x=am,
y=mpg,
nboot=999
)+
labs(title = 'Spalanie wg rodzaju skrzyni biegów')+
labs(x = "Manualna skrzynia biegów", y= "Spalanie")
Analiza bootstrap wskazuje na istotną różnicę w średniej ilości
przejechanych mil na galon (mpg) między samochodami z automatycznymi i
manualnymi skrzyniami biegów. Ujemna różnica średnich (-7.276724)
oznacza, że średnio samochody z manualnymi skrzyniami biegów mają wyższą
efektywność paliwową (mpg) w porównaniu do samochodów z automatycznymi
skrzyniami biegów. P-wartość bootstrap wynosząca 0.002002 wskazuje na
silne dowody przeciwko zerowej hipotezie braku różnicy między średnimi.
95-procentowy przedział ufności bootstrap (-10.824879 do -3.754494)
dodatkowo potwierdza tę konkluzję, ponieważ nie zawiera zera. Na
podstawie tej analizy można więc wnioskować, że samochody z manualnymi
skrzyniami biegów mają znacznie lepszą efektywność paliwową niż
samochody z automatycznymi skrzyniami biegów. Wyniki bez wykorzystania
bootstrapu również potwierdzają istnienie statystycznie istotnej różnicy
w średnich wartościach spalania między grupami. Wartość t wyniosła
-3.7671, co wskazuje na istotność statystyczną tej różnicy. Przedział
ufności 95% dla różnicy średnich wartości mieści się w zakresie od
-11.280194 do -3.209684, dodatkowo potwierdza tę konkluzję, ponieważ nie
zawiera zera.
Przykład 2. Test Chi2 - Czy status studenta różni się istotnie wg płci?
library(ISLR)
data("Credit")
attach(Credit)
tabelka<-table(Student,Gender)
chisq.test(tabelka,simulate.p.value = TRUE, B = 2000)
##
## Pearson's Chi-squared test with simulated p-value (based on 2000
## replicates)
##
## data: tabelka
## X-squared = 1.2115, df = NA, p-value = 0.3408
ggbarstats(
data=Credit,
x=Gender,
y=Student
)+
labs(title = 'Status studenta wg płci')+
labs(x = "Status studenta")
ggpiestats(
data=Credit,
x=Gender,
y=Student
)+
labs(title = 'Status studenta wg płci')
Wykresy prrzedstawiają procent osób posiadających lub nie posiadających
statusu studenta w podziale na płeć. Można zauważyć, że jest 51% kobiet
nieposiadających statusu studenta oraz 49% mężczyzn. Natomiast jeśli
chodzi o osoby posiadające status studenta widzimy 60% kobiet, które go
posiadają oraz 40% mężczyzn.
Zadanie domowe
Zadanie 1 - Czy diamenty z doskonałym szlifem mają istotnie różną cenę?
diamenty <- read.csv("C:/Users/pilat/Desktop/DANE.csv", sep = ";")
wyniki<-boot.t.test(Cena~Szlif_D,R=999,data=diamenty)
wyniki
##
## Bootstrap Welch Two Sample t-test
##
## data: Cena by Szlif_D
## bootstrap p-value = 0.004004
## bootstrap difference of means (SE) = -1621.756 (533.6336)
## 95 percent bootstrap percentile confidence interval:
## -2682.2399 -556.2878
##
## Results without bootstrap:
## t = -3.0456, df = 116.65, p-value = 0.002871
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -2700.0822 -572.1808
## sample estimates:
## mean in group 0 mean in group 1
## 4918.123 6554.255
# z wizualizacją:
library(ggstatsplot)
ggbetweenstats(
data=diamenty,
x=Szlif_D,
y=Cena,
nboot=999
)+
labs(title = 'Cena wg doskonałego szlifu diamentów')+
labs(x = "Doskonały szlif", y= "Cena")
P-value = 0.008008 informuje, że istnieje statystycznie istotna różnica
w średnich wartościach ceny między grupą diamentów z doskonałym szlifem,
a grupą innym rodzajem szlifu. Średnia wartość ceny dla grupy diamentów
z doskonałym szlifem wynosi -1641,73, co oznacza że są statystycznie
istotnie droższe niż inne diamenty, ponieważ różnica jest ujemna i
wartość błędu standardowego (SE) jest większa od zera. Przedział ufności
95% dla różnicy średnich w cenach dla grupy diamentów z doskonałym
szlifem między grupami wynosi od -2663.1882 do -623.8862. Wyniki bez
wykorzystania bootstrapu również wskazują na istotną statystycznie
różnicę między średnimi cenami diamentów w dwóch grupach. W grupie
diamentów o niskiej jakości szlifu średnia cena wynosiła 4918.123,
podczas gdy w grupie diamentów o doskonałym szlifie średnia cena
wynosiła 6554.255. Wartość t wyniosła -3.0456, co wskazuje na istotność
statystyczną tej różnicy. Przedział ufności 95% dla różnicy średnich cen
mieści się w zakresie od -2700.0822 do -572.1808. W związku z tym
istnieje wysokie prawdopodobieństwo, że diamenty o doskonałym szlifie są
znacznie droższe od diamentów o niskiej jakości szlifu.
Zadanie 2. Test Chi2 - Czy szlif doskonały różni się istotnie wg doskonałego polerowania?
data("diamenty")
## Warning in data("diamenty"): zbiór danych 'diamenty' nie został znaleziony
attach(diamenty)
## Następujący obiekt został zakryty z package:base:
##
## F
tabelka<-table(Szlif_D, Polerowanie_D)
chisq.test(tabelka,simulate.p.value = TRUE, B = 2000)
##
## Pearson's Chi-squared test with simulated p-value (based on 2000
## replicates)
##
## data: tabelka
## X-squared = 34.355, df = NA, p-value = 0.0004998
ggbarstats(
data=diamenty,
x=Polerowanie_D,
y=Szlif_D
)+
labs(title = 'Szlif doskonały wg doskonałego polerowania')+
labs(x = "Doskonałe polerowanie")
ggpiestats(
data= diamenty,
x=Polerowanie_D,
y=Szlif_D
)+
labs(title = 'Szlif doskonały wg doskonałego polerowania')
Wykresy przedstawiają procent diamentów posiadających lub nie
posiadających doskonały szlif w podziale na diamenty z doskonałym
polerowaniem. Można zauważyć, że jest 70% diamentów z doskonałym
polerowaniem nieposiadających doskonałego szlifu oraz 30% diamentów bez
doskonałego polerowania. Natomiast jeśli chodzi o diamenty posiadające
doskonały szlif widzimy 95% diamentów z doskonałym polerowaniem oraz 5%
diamentów bez doskonałego polerowania.