Analisis dokumen ini akan menjelaskan tentang berbagai eksperimen statistik dan tes signifikan yang umumnya dilakukan untuk data scientist yang menggunakan ini untuk menarik kesimpulan dari percobaan itu. Eksperimen statistik dan tes signifikan itu dirancang untuk menyelidiki hubungan antara variabel dan menentukan apakah hasil yang diamati kemungkinan disebabkan oleh efek nyata atau sekadar variasi acak. Dalam judul ini, saya akan menjelaskan data yang saya akan digunakan dan melakukan sebuah analisis percobaan dari data itu.
Data yang akan digunakan dalam analisis ini adalah “Supermarket Sales” dari kaggle. Dataset “Supermarket Sales” berisi data penjualan dari sebuah supermarket dari tiga kota tersebut. Data ini mencakup berbagai informasi seperti detail transaksi, produk yang dijual, informasi pelanggan, dan lokasi penjualan. Dataset ini umumnya digunakan untuk analisis data, visualisasi, dan pemodelan prediktif dalam konteks bisnis retail.
Dataset ini dapat digunakan untuk berbagai analisis, seperti:
Link dataset “Supermarket Sales”: https://www.kaggle.com/datasets/aungpyaeap/supermarket-sales
A/B Testing: Bandingkan penjualan antara dua kelompok, misalnya penjualan di kota yang berbeda atau antara jenis pelanggan yang berbeda.
Sekarang, saya akan mulai melakukan analisis uji statistik dari dataset tersebut.
Sebelum masuk ke uji statistik, kita memuat paket-paket di R, lalu kita mempersiapkan dataset tersebut di R dalam bentuk CSV.
# Memuat paket ggplot 2
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.4.3
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.4.3
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(lubridate)
## Warning: package 'lubridate' was built under R version 4.4.3
##
## Attaching package: 'lubridate'
## The following objects are masked from 'package:base':
##
## date, intersect, setdiff, union
# Memuat datasets
sales <- read.csv("C:/Users/Benhard Leroy/Downloads/supermarket_sales - Sheet1.csv")
head(sales)
## Invoice.ID Branch City Customer.type Gender Product.line
## 1 750-67-8428 A Yangon Member Female Health and beauty
## 2 226-31-3081 C Naypyitaw Normal Female Electronic accessories
## 3 631-41-3108 A Yangon Normal Male Home and lifestyle
## 4 123-19-1176 A Yangon Member Male Health and beauty
## 5 373-73-7910 A Yangon Normal Male Sports and travel
## 6 699-14-3026 C Naypyitaw Normal Male Electronic accessories
## Unit.price Quantity Tax.5. Total Date Time Payment cogs
## 1 74.69 7 26.1415 548.9715 1/5/2019 13:08 Ewallet 522.83
## 2 15.28 5 3.8200 80.2200 3/8/2019 10:29 Cash 76.40
## 3 46.33 7 16.2155 340.5255 3/3/2019 13:23 Credit card 324.31
## 4 58.22 8 23.2880 489.0480 1/27/2019 20:33 Ewallet 465.76
## 5 86.31 7 30.2085 634.3785 2/8/2019 10:37 Ewallet 604.17
## 6 85.39 7 29.8865 627.6165 3/25/2019 18:30 Ewallet 597.73
## gross.margin.percentage gross.income Rating
## 1 4.761905 26.1415 9.1
## 2 4.761905 3.8200 9.6
## 3 4.761905 16.2155 7.4
## 4 4.761905 23.2880 8.4
## 5 4.761905 30.2085 5.3
## 6 4.761905 29.8865 4.1
Sebelum melakukan ujinya, kita penting untuk mempersiapkan data yang Anda miliki untuk bisa memahami data tersebut. Misalnya, Anda mungkin ingin melihat distribusi data atau summary statistik.
str(sales)
## 'data.frame': 1000 obs. of 17 variables:
## $ Invoice.ID : chr "750-67-8428" "226-31-3081" "631-41-3108" "123-19-1176" ...
## $ Branch : chr "A" "C" "A" "A" ...
## $ City : chr "Yangon" "Naypyitaw" "Yangon" "Yangon" ...
## $ Customer.type : chr "Member" "Normal" "Normal" "Member" ...
## $ Gender : chr "Female" "Female" "Male" "Male" ...
## $ Product.line : chr "Health and beauty" "Electronic accessories" "Home and lifestyle" "Health and beauty" ...
## $ Unit.price : num 74.7 15.3 46.3 58.2 86.3 ...
## $ Quantity : int 7 5 7 8 7 7 6 10 2 3 ...
## $ Tax.5. : num 26.14 3.82 16.22 23.29 30.21 ...
## $ Total : num 549 80.2 340.5 489 634.4 ...
## $ Date : chr "1/5/2019" "3/8/2019" "3/3/2019" "1/27/2019" ...
## $ Time : chr "13:08" "10:29" "13:23" "20:33" ...
## $ Payment : chr "Ewallet" "Cash" "Credit card" "Ewallet" ...
## $ cogs : num 522.8 76.4 324.3 465.8 604.2 ...
## $ gross.margin.percentage: num 4.76 4.76 4.76 4.76 4.76 ...
## $ gross.income : num 26.14 3.82 16.22 23.29 30.21 ...
## $ Rating : num 9.1 9.6 7.4 8.4 5.3 4.1 5.8 8 7.2 5.9 ...
head(sales)
## Invoice.ID Branch City Customer.type Gender Product.line
## 1 750-67-8428 A Yangon Member Female Health and beauty
## 2 226-31-3081 C Naypyitaw Normal Female Electronic accessories
## 3 631-41-3108 A Yangon Normal Male Home and lifestyle
## 4 123-19-1176 A Yangon Member Male Health and beauty
## 5 373-73-7910 A Yangon Normal Male Sports and travel
## 6 699-14-3026 C Naypyitaw Normal Male Electronic accessories
## Unit.price Quantity Tax.5. Total Date Time Payment cogs
## 1 74.69 7 26.1415 548.9715 1/5/2019 13:08 Ewallet 522.83
## 2 15.28 5 3.8200 80.2200 3/8/2019 10:29 Cash 76.40
## 3 46.33 7 16.2155 340.5255 3/3/2019 13:23 Credit card 324.31
## 4 58.22 8 23.2880 489.0480 1/27/2019 20:33 Ewallet 465.76
## 5 86.31 7 30.2085 634.3785 2/8/2019 10:37 Ewallet 604.17
## 6 85.39 7 29.8865 627.6165 3/25/2019 18:30 Ewallet 597.73
## gross.margin.percentage gross.income Rating
## 1 4.761905 26.1415 9.1
## 2 4.761905 3.8200 9.6
## 3 4.761905 16.2155 7.4
## 4 4.761905 23.2880 8.4
## 5 4.761905 30.2085 5.3
## 6 4.761905 29.8865 4.1
summary(sales)
## Invoice.ID Branch City Customer.type
## Length:1000 Length:1000 Length:1000 Length:1000
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
## Gender Product.line Unit.price Quantity
## Length:1000 Length:1000 Min. :10.08 Min. : 1.00
## Class :character Class :character 1st Qu.:32.88 1st Qu.: 3.00
## Mode :character Mode :character Median :55.23 Median : 5.00
## Mean :55.67 Mean : 5.51
## 3rd Qu.:77.94 3rd Qu.: 8.00
## Max. :99.96 Max. :10.00
## Tax.5. Total Date Time
## Min. : 0.5085 Min. : 10.68 Length:1000 Length:1000
## 1st Qu.: 5.9249 1st Qu.: 124.42 Class :character Class :character
## Median :12.0880 Median : 253.85 Mode :character Mode :character
## Mean :15.3794 Mean : 322.97
## 3rd Qu.:22.4453 3rd Qu.: 471.35
## Max. :49.6500 Max. :1042.65
## Payment cogs gross.margin.percentage gross.income
## Length:1000 Min. : 10.17 Min. :4.762 Min. : 0.5085
## Class :character 1st Qu.:118.50 1st Qu.:4.762 1st Qu.: 5.9249
## Mode :character Median :241.76 Median :4.762 Median :12.0880
## Mean :307.59 Mean :4.762 Mean :15.3794
## 3rd Qu.:448.90 3rd Qu.:4.762 3rd Qu.:22.4453
## Max. :993.00 Max. :4.762 Max. :49.6500
## Rating
## Min. : 4.000
## 1st Qu.: 5.500
## Median : 7.000
## Mean : 6.973
## 3rd Qu.: 8.500
## Max. :10.000
Semua ini digunakan untuk semua pengujian tersebut.
A/B Testing atau uji A/B adalah sebuah analisis yang membandingkan dua versi (A dan B) halaman web, aplikasi atau materi pemasaran untuk menentukan mana yang berkinerja lebih baik berdasarkan metrik tertentu. Uji ini biasanya memiliki dua varian, yaitu varian A dan varian B, hal ini mengukur mana versi yang paling sukses pada pengujiannya berdasarkan metrik utama Anda.
Untuk melakukan A/B Testing, kita mengikuti berbagai langkah. Pertama, kita akan membandingkan penjualan antara cabang A dan B.
Misalnya, kita ingin menguji apakah ada perbedaan signifikan dalam total penjualan antara dua cabang supermarket (misalnya, Cabang A dan Cabang B).Dengan itu, kita akan membuat hipotesis sebagai berikut:
Selanjutnya, kita akan filter data cabang A dan B untuk membagi data menjadi dua kelompok.
# Filter data untuk Cabang A dan Cabang B
branch_a <- sales %>% filter(Branch == "A")
branch_b <- sales %>% filter(Branch == "B")
# Lihat ringkasan statistik untuk kedua cabang
summary(branch_a$Total)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 12.69 137.49 240.83 312.35 459.34 1039.29
summary(branch_b$Total)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 18.64 119.94 252.88 319.87 465.59 1022.49
Selanjutnya kita akan menginput hasil A/B Testing tersebut. Dalam A/B Testing, kita harus menggunakan uji statistik lain seperti t-test untuk membantu mendapatkan jawaban A/B Testing dalam perbandingan penjualan kedua cabang.
# Filter data untuk Cabang A dan Cabang B
branch_A <- sales %>% filter(Branch == "A") %>% pull(Total)
branch_B <- sales %>% filter(Branch == "B") %>% pull(Total)
# Lihat ringkasan statistik untuk kedua cabang
t.test(branch_A, branch_B, alternative = "two.sided")
##
## Welch Two Sample t-test
##
## data: branch_A and branch_B
## t = -0.41086, df = 666.79, p-value = 0.6813
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -43.44973 28.41278
## sample estimates:
## mean of x mean of y
## 312.3540 319.8725
Kita menggunakan interval kepercayaan kepada 95%. Dari data di atas, kita mendapatkan: 1. Nilai t = -0.41086 2. Degrees of Freedom = 666.79 3. Nilai p = 0.6813 4. Interval kepercayaan: 95% 5. Rata-Rata x: 312.3540 6. Rata-Rata y: 319.8725
Karena nilai p > 0.05, maka kita terima H0.
Jadi, A/B Testing dari data supermaket sales itu tidak ada perbedaan signifikan dalam rata-rata penjualan antara cabang A dan cabang B.
Hypothesis test atau uji hipotesis adalah jenis analisis statistik yang digunakan untuk menguji sebuah asumsi Anda tentang parameter populasi. Pengujian ini digunakan untuk memperkirakan hubungan antara 2 variabel statistik.
Untuk melakukan uji hipotesis ini, kita mengikuti berbagai langkah. Pertama, kita akan menentukan apakah rata-rata penjualan dari semua cabang supermarket itu > $300? Dengan itu, kita akan membuat hipotesis sebagai berikut:
Selanjutnya, kita akan menginput hasilnya uji hipotesis tersebut.
# Melakukan uji t dalam uji hipotesis
t.test(sales$Total, mu = 300, alternative = "greater")
##
## One Sample t-test
##
## data: sales$Total
## t = 2.9537, df = 999, p-value = 0.001607
## alternative hypothesis: true mean is greater than 300
## 95 percent confidence interval:
## 310.1652 Inf
## sample estimates:
## mean of x
## 322.9667
Karena nilai p < 0.05, maka kita tolak H0.
Jadi, uji hipotesis rata-rata penjualan dari semua cabang supermarket > $300.
T-test atau Uji-t adalah uji statistik yang digunakan untuk menguji perbedaan antara nilai rata-rata dua kelompok atau perbedaan antara nilai rata-rata satu kelompok dan nilai standar.
Untuk melakukan Uji-t, kita mengikuti berbagai langkah. Pertama kita mau menentukan sebuah hipotesis yang akan diuji. Misal, Anda ingin menguji apakah rata-rata penjualan di kota A berbeda secara signifikan dengan rata-rata penjualan di kota B. Dengan itu, kita akan membuat hipotesis sebagai berikut:
Setelah kita menentukan uji tersebut tersebut, kita akan membagikan data tersebut menjadi dua.
# Bagi data menjadi dua kelompok
A <- sales %>% filter(City == "Yangon") %>% select(Total)
B <- sales %>% filter(City == "Mandalay") %>% select(Total)
# Uji t-test
t_test_result <- t.test(A$Total, B$Total)
# Lihat hasil uji t-test
t_test_result
##
## Welch Two Sample t-test
##
## data: A$Total and B$Total
## t = -0.41086, df = 666.79, p-value = 0.6813
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -43.44973 28.41278
## sample estimates:
## mean of x mean of y
## 312.3540 319.8725
Kita menggunakan interval kepercayaan kepada 95%. Dari data di atas, kita mendapatkan: 1. Nilai t = -0.41086 2. Degrees of Freedom = 666.79 3. Nilai p = 0.6813 4. Interval kepercayaan: 95% 5. Rata-Rata x: 312.3540 6. Rata-Rata y: 319.8725 Karena nilai p > 0.05, maka kita terima H0.
Jadi, uji t dari data supermaket sales itu tidak ada perbedaan signifikan dalam rata-rata penjualan di kota A dan kota B.
Resampling adalah pembuatan sampel baru berdasarkan satu sampel yang diamati.
Untuk melakukan Resampling, kita mengikuti berbagai langkah. Pertama, Anda akan dilakukan untuk mengubah frekuensi data time series, misalnya dari harian ke bulanan, atau untuk menyeimbangkan dataset dalam kasus klasifikasi. Berikut, kita akan memuat package yang diperlukan, paket yang digunakan adalah dplyr untuk manipulasi data dan lubridate untuk handling tanggal.
library(dplyr)
library(lubridate)
Jika dataset memiliki kolom tanggal, pastikan kolom tersebut dalam format Date.
# Ubah kolom 'Date' ke format Date
sales$Date <- as.Date(sales$Date, format="%m/%d/%Y")
Dalam resampling, kita bisa melakukan dengan dengan berbagai cara tergantung pada tujuan Anda. Misalnya, jika Anda ingin melakukan resampling dari harian ke bulanan, Anda dapat menggunakan fungsi group_by dan summarize dari dplyr.
# Resampling dari harian ke bulanan
monthly_sales <- sales %>%
group_by(Month = floor_date(Date, "month")) %>%
summarize(Total_Sales = sum(Total, na.rm = TRUE))
# Tampilkan hasil resampling
print(monthly_sales)
## # A tibble: 3 × 2
## Month Total_Sales
## <date> <dbl>
## 1 2019-01-01 116292.
## 2 2019-02-01 97219.
## 3 2019-03-01 109456.
Hasil dari data resampling itu, kita melihat bahwa data itu memunculkan bulan dan total penjualan untuk setiap bulan. Bulan Januari merupakan bulan yang lebih banyak total penjualan daripada bulan Febuari dan Maret.
Statistical significance atau signifikan data adalah sebuah analisis yang mengukur probabilitas hipotesis nol menjadi benar dibandingkan dengan tingkat ketidakpastian yang dapat diterima mengenai jawaban yang benar. Analisis itu menggunakan p-values atau nilai p untuk menunjukkan kemungkinan hasil yang terjadi itu menimbulkan efek yang banyak. Semakin kecil p-values, semakin besar signifikansi statistik dari perbedaan yang diamati.
Untuk melakukan statistical significance, kita akan menguji apakah ada perbedaan signifikan dalam total penjualan antara pelanggan laki-laki dan perempuan. Dengan itu, kita akan membuat hipotesis sebagai berikut:
Selanjutnya, kita mulai melakukan signifikan data dengan membagikan data berdasarkan gender.
# Bagi data berdasarkan gender
sales_male <- sales %>% filter(Gender == "Male") %>% select(Total)
sales_female <- sales %>% filter(Gender == "Female") %>% select(Total)
Selanjutnya, kita melakukan uji-t dari pengujian di atas. Lalu hasilnya dilihat dari hasil p-value atau nilai p.
# Lakukan uji t
t_test_result <- t.test(sales_male$Total, sales_female$Total)
print(t_test_result)
##
## Welch Two Sample t-test
##
## data: sales_male$Total and sales_female$Total
## t = -1.5642, df = 997.34, p-value = 0.1181
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -54.799346 6.186481
## sample estimates:
## mean of x mean of y
## 310.7892 335.0957
Jadi, nilai p itu 0.1181. Karena nilai p > 0.05, maka kita terima H0
Jadi, dalam signifikan statistik, kita melihat bahwa tidak ada perbedaan signifikan dalam total penjualan antara pelanggan laki-laki dan perempuan.
Multiple Testing atau pengujian berganda adalah sebuah pengujian di mana ada beberapa hipotesis yang diuji itu dilakukan secara bersamaan dalam satu analisis statistik. Masalah ini sering muncul dalam penelitian yang melibatkan banyak variabel, perbandingan kelompok, atau pengujian berulang pada data yang sama.
Untuk melakukan multiple testing, kita mengikuti berbagai langkah. Pertama, kita melakukan sebuah hipotesis. Misal, kita melakukan perbandingan rata-rata total penjualan antar cabang-cabang dengan menggunakan uji t-test. Karena kita melakukan banyak perbandingan, kita perlu mengoreksi p-value. Metode yang akan digunakan itu adalah koreksi Bonferroni dan melakukan perbandingan antara kedua metode tersebut.
Pertama, kita melakukan uji t tanpa koreksi.
# Uji t-test tanpa koreksi
t_test_results <- pairwise.t.test(sales$Total, sales$Branch, p.adjust.method = "none")
print(t_test_results)
##
## Pairwise comparisons using t tests with pooled SD
##
## data: sales$Total and sales$Branch
##
## A B
## B 0.69 -
## C 0.19 0.37
##
## P value adjustment method: none
Selanjutnya adalah uji t dengan Koreksi Bonferroni.
# Uji t-test dengan koreksi Bonferroni
t_test_results_bonferroni <- pairwise.t.test(sales$Total, sales$Branch, p.adjust.method = "bonferroni")
print(t_test_results_bonferroni)
##
## Pairwise comparisons using t tests with pooled SD
##
## data: sales$Total and sales$Branch
##
## A B
## B 1.00 -
## C 0.58 1.00
##
## P value adjustment method: bonferroni
Metode uji t tanpa koreksi itu mungkin bisa saja menemukan beberapa perbedaan yang signifikan antar cabang tersebut, tapi hal itu rentan terhadap kesalahan tipe I (false positive) karena tidak adanya koreksi untuk multiple comparisons. Sedangkan untuk koreksi Bonferroni, kita melihat bahwa perbandingan itu menunjukkan p-value yang lebih kecil dari tingkat signifikansi. Hal itu berarti kita dapat menyimpulkan bahwa terdapat perbedaan yang signifikan antar cabang. Dengan demikian, multiple testing membantu dalam mengambil keputusan yang lebih akurat dan mengurangi risiko kesalahan statistik.
Dalam melakukan hitungan derajat kebebasan (degree of freedom), kita biasanya terkait derjat kebebasan itu sebagai hitungan penting dalam analisis statistik seperti uji t, ANOVA, atau regresi. Misalnya, dalam uji t, degree of freedom dihitung sebagai n - 1 (di mana n adalah jumlah sampel).
Kita memuat paket readr.
library(readr)
## Warning: package 'readr' was built under R version 4.4.3
Sekarang, kita mulai menghitung derajat kebebasan. Misalnya, kita ingin menghitung derajat kebebasan dari uji t independen antara dua kelompok (misalnya, penjualan di kota A vs kota B).
# Contoh: Hitung degree of freedom untuk uji t
# Misalnya, kita bandingkan penjualan di Kota A dan Kota B
# Filter data untuk kedua kota
sales_city_a <- sales$Total[sales$City == "Yangon"]
sales_city_b <- sales$Total[sales$City == "Mandalay"]
# Hitung derajat kebebasan of freedom untuk uji t
n1 <- length(sales_city_a) # Jumlah sampel di Kota A
n2 <- length(sales_city_b) # Jumlah sampel di Kota B
df <- n1 + n2 - 2 # Degree of freedom untuk uji t independen
# Tampilkan hasil
print(df)
## [1] 670
Jadi, derajat kebebasan dari pengujian itu adalah 670.
ANOVA (Analysis of Variance) adalah sebuah uji statistik digunakan untuk membandingkan rata-rata dari dua kelompok atau lebih dengan menganalisis variansi antar kelompok dan variansi dalam kelompok.
Untuk melakukan analisis ANOVA (Analysis of Variance), kita mengikuti berbagai langkah. ANOVA digunakan untuk menguji apakah ada perbedaan signifikan antara rata-rata dari tiga atau lebih kelompok.
Sebelum melakukan ANOVA, kita membuat sebuah hipotesis ini. Kita misalkan bahwa Anda ingin melihat apakah ada perbedaan signifikan dalam penjualan berdasarkan cabang supermarket. Dengan itu, kita akan membuat hipotesis sebagai berikut:
Pastikan menggunakan kode “aov”
# Melakukan ANOVA
anova_result <- aov(Total ~ Branch, data = sales)
anova_result
## Call:
## aov(formula = Total ~ Branch, data = sales)
##
## Terms:
## Branch Residuals
## Sum of Squares 106988 60292151
## Deg. of Freedom 2 997
##
## Residual standard error: 245.9137
## Estimated effects may be unbalanced
# Menampilkan hasil ANOVA
summary(anova_result)
## Df Sum Sq Mean Sq F value Pr(>F)
## Branch 2 106988 53494 0.885 0.413
## Residuals 997 60292151 60474
Hasilnya dari kode tersebut adalah sebagai berikut: 1. Degree of Freedom (df1, df2): 2 dan 997 2. Sum of squares: 106988 3. Mean Square: 53494 4. F-Value: 0.885 5. P-Value: 0.413 Karena nilai p > 0.05, maka kita terima H0.
Jadi, analisis ANOVA dari hipotesis tersebut itu menunjukkan bahwa tidak ada perbedaan signifikan total penjualan cabang supermarket.
Chi-square test atau uji chi-square adalah digunakan untuk membandingkan hasil pengamatan dengan hasil yang diharapkan. Tujuannya adalah untuk menentukan apakah perbedaan antara data pengamatan dan data yang diharapkan terjadi karena kebetulan, atau karena hubungan antara variabel yang diteliti.
Untuk melakukan analisis uji chi-square, kita mengikuti berbagai langkah. Chi-square test biasanya digunakan untuk menguji hubungan antara dua variabel kategorikal.
Misalnya, kita ingin menguji apakah ada hubungan antara:
Dengan itu, kita akan membuat hipotesis sebagai berikut: 1. Hipotesis Nol (H0): Tidak ada hubungan signifikan antara cabang supermarket (A,B,C) dan metode pembayaran (Cash, Credit Card, E-Wallet). 2. Hipotesis Alternatif (H1): Ada hubungan signifikan antara cabang supermarket dan metode pembayaran.
Selanjutnya, kita akan mengunakan kode untuk memilih data yang kita mau cari.
# Mengubah variabel ke tipe faktor
sales$Branch <- as.factor(sales$Branch)
sales$Payment <- as.factor(sales$Payment)
# Melihat tabel frekuensi
table(sales$Branch, sales$Payment)
##
## Cash Credit card Ewallet
## A 110 104 126
## B 110 109 113
## C 124 98 106
Untuk bisa memunculkan hasil uji chi-square, Anda akan membuat tabel kontingensi dimana tabel ini menunjukkan distribusi frekuensi dari dua variabel kategorikal.
# Membuat tabel kontingensi
contingency_table <- table(sales$Branch, sales$Payment)
print(contingency_table)
##
## Cash Credit card Ewallet
## A 110 104 126
## B 110 109 113
## C 124 98 106
Selanjutnya, kita akan melakukan uji chi-square dengan menggunakan fungsi chisq.test().
# Melakukan Chi-square test
chi_square_result <- chisq.test(contingency_table)
# Menampilkan hasil
print(chi_square_result)
##
## Pearson's Chi-squared test
##
## data: contingency_table
## X-squared = 3.2997, df = 4, p-value = 0.509
Hasilnya dari kode tersebut adalah sebagai berikut: 1. x-kuadrat: 3.2997 2. Derajat kebebasan (df): 4 3. P-value: 0.509 Karena nilai p > 0.05, maka kita terima H0.
Jadi, analisis uji chi-square dari hipotesis tersebut itu menunjukkan bahwa tidak ada hubungan signifikan antara cabang supermarket dan metode pembayaran.
Jadi, inilah semua berbagai proses, analisis, dan pengujian yang dilakukan dalam dataset “Supermarket Sales”. Kami berharap bahwa analisis dokumen ini dapat membantu betapa orang yang memang akan tertarik dalam proses analisis statistik dan juga untuk kehidupan sehari-hari. Anda tidak harus menggunakan semua pengujian analsisis statistik di atas, melainkan dokumen ini menunjukkan analisis yang bisa digunakan dengan cara pengujian yang tepat.