library(readxl)
mydata <- read_xlsx("./dataset copy.xlsx")
## New names:
## • `Q22a_1` -> `Q22a_1...26`
## • `Q22b_1` -> `Q22b_1...27`
## • `Q22c_1` -> `Q22c_1...28`
## • `Q22d_1` -> `Q22d_1...29`
## • `Q22e_1` -> `Q22e_1...30`
## • `Q22a_1` -> `Q22a_1...32`
## • `Q22b_1` -> `Q22b_1...33`
## • `Q22c_1` -> `Q22c_1...34`
## • `Q22d_1` -> `Q22d_1...72`
## • `Q22e_1` -> `Q22e_1...73`
mydata <- mydata[-1, ]
head(mydata)
## # A tibble: 6 × 73
## Q8 Q66 Q10 Q12 Q11 Q48 Q48_5_text Q14a Q14b Q14c Q14d Q14e
## <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
## 1 1 3 3 6 2 -2 -2 0 1 0 0 0
## 2 1 2 5 6 1 1 -2 0 1 0 0 0
## 3 1 6 5 6 1 3 -2 0 1 0 1 0
## 4 1 2 5 6 2 -2 -2 1 0 1 1 0
## 5 1 2 2 6 2 -2 -2 0 1 0 0 0
## 6 1 6 7 7 2 -2 -2 0 1 0 0 0
## # ℹ 61 more variables: Q14e_text <chr>, Q15 <chr>, Q16 <chr>, Q17 <chr>,
## # Q18 <chr>, Q25a <chr>, Q25b <chr>, Q25c <chr>, Q25d <chr>, Q25e <chr>,
## # Q25f <chr>, Q25g <chr>, Q25h <chr>, Q22a_1...26 <dbl>, Q22b_1...27 <dbl>,
## # Q22c_1...28 <dbl>, Q22d_1...29 <dbl>, Q22e_1...30 <dbl>, Q24 <chr>,
## # Q22a_1...32 <dbl>, Q22b_1...33 <dbl>, Q22c_1...34 <dbl>, Q13 <chr>,
## # Q20 <chr>, Q46 <chr>, Q1a_1 <dbl>, Q1b_1 <dbl>, Q1c_1 <dbl>, Q1d_1 <dbl>,
## # Q1e_1 <dbl>, Q1f_1 <dbl>, Q2a_1 <dbl>, Q2b_1 <dbl>, Q2c_1 <dbl>, …
mydata$Q39 <- factor(mydata$Q39,
levels = c(1,2),
labels = c("Male", "Female"))
mydata$Q37 <- factor(mydata$Q37,
levels = c(1, 2, 3, 4, 5, 6, 7),
labels = c("Less than 1,000", "1,001 - 1,300", "1,301 - 1,700", "1,701 - 2,500", "2,501 - 3,300", "More than 3,000", "Pension"))
mydata$Q41 <- factor(mydata$Q41,
levels = c(1, 2, 3, 4, 5, 6, 7),
labels = c("Unfinished Elementary", "Finished Elementary", "Vocational School", "General High School", "Undergraduate Degree", "Master's Degree", "PhD"))
mydata$Q42 <- factor(mydata$Q42,
levels = c(1, 2, 3, 4, 5),
labels = c("Employed", "Self-Employed", "Retired", "Unemployed", "Other"))
mydata$Q43 <- factor(mydata$Q43,
levels = c(1, 2, 3, 4, 5),
labels = c("Physical Work", "Service", "Office", "Public Sector", "Creative"))
mydata$Q44 <- factor(mydata$Q44,
levels = c(1, 2, 3),
labels = c("Urban", "Suburban", "Rural"))
mydata$Q45 <- factor(mydata$Q45,
levels = c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10),
labels = c("NLB", "OTP", "Unicredit", "Raiffaisen", "Gorenjska banka", "Intesa Sanpaolo", "Delavska hranilnica", "Revolut", "N26", "Other"))
mydata$Q11 <- factor(mydata$Q11,
levels = c(1, 2),
labels = c("No", "Yes"))
mydata$Q13 <- factor(mydata$Q13,
levels = c(1, 2, 3, 4, 5, 6, 7),
labels = c("Never", "Less than once a month", "Once a month", "2-3 times a month", "Once a week", "2-3 times a week","Every day"))
mydata$Q20 <- factor(mydata$Q20,
levels = c(1, 2, 3, 4, 5),
labels = c("Less than 50", "50-100", "101-300", "301-500", "More than 500"))
mydata$Q40 <- as.numeric(as.character(mydata$Q40))
mydata$Q40 <- 2025 - mydata$Q40
head(mydata)
## # A tibble: 6 × 73
## Q8 Q66 Q10 Q12 Q11 Q48 Q48_5_text Q14a Q14b Q14c Q14d Q14e
## <chr> <chr> <chr> <chr> <fct> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
## 1 1 3 3 6 Yes -2 -2 0 1 0 0 0
## 2 1 2 5 6 No 1 -2 0 1 0 0 0
## 3 1 6 5 6 No 3 -2 0 1 0 1 0
## 4 1 2 5 6 Yes -2 -2 1 0 1 1 0
## 5 1 2 2 6 Yes -2 -2 0 1 0 0 0
## 6 1 6 7 7 Yes -2 -2 0 1 0 0 0
## # ℹ 61 more variables: Q14e_text <chr>, Q15 <chr>, Q16 <chr>, Q17 <chr>,
## # Q18 <chr>, Q25a <chr>, Q25b <chr>, Q25c <chr>, Q25d <chr>, Q25e <chr>,
## # Q25f <chr>, Q25g <chr>, Q25h <chr>, Q22a_1...26 <dbl>, Q22b_1...27 <dbl>,
## # Q22c_1...28 <dbl>, Q22d_1...29 <dbl>, Q22e_1...30 <dbl>, Q24 <chr>,
## # Q22a_1...32 <dbl>, Q22b_1...33 <dbl>, Q22c_1...34 <dbl>, Q13 <fct>,
## # Q20 <fct>, Q46 <chr>, Q1a_1 <dbl>, Q1b_1 <dbl>, Q1c_1 <dbl>, Q1d_1 <dbl>,
## # Q1e_1 <dbl>, Q1f_1 <dbl>, Q2a_1 <dbl>, Q2b_1 <dbl>, Q2c_1 <dbl>, …
mydata$Q25a <- factor(mydata$Q25a,
levels = c(1, 2, 3, 4, 5),
labels = c("Cash only", "Mostly cash","Half-half", "Mostly digital","Digital only"))
mydata$Q25b <- factor(mydata$Q25b,
levels = c(1, 2, 3, 4, 5),
labels = c("Cash only", "Mostly cash","Half-half", "Mostly digital","Digital only"))
mydata$Q25c <- factor(mydata$Q25c,
levels = c(1, 2, 3, 4, 5),
labels = c("Cash only", "Mostly cash","Half-half", "Mostly digital","Digital only"))
mydata$Q25d <- factor(mydata$Q25d,
levels = c(1, 2, 3, 4, 5),
labels = c("Cash only", "Mostly cash","Half-half", "Mostly digital","Digital only"))
mydata$Q25e <- factor(mydata$Q25e,
levels = c(1, 2, 3, 4, 5),
labels = c("Cash only", "Mostly cash","Half-half", "Mostly digital","Digital only"))
mydata$Q25f <- factor(mydata$Q25f,
levels = c(1, 2, 3, 4, 5),
labels = c("Cash only", "Mostly cash","Half-half", "Mostly digital","Digital only"))
mydata$Q25g <- factor(mydata$Q25g,
levels = c(1, 2, 3, 4, 5),
labels = c("Cash only", "Mostly cash","Half-half", "Mostly digital","Digital only"))
mydata$Q25h <- factor(mydata$Q25h,
levels = c(1, 2, 3, 4, 5),
labels = c("Cash only", "Mostly cash","Half-half", "Mostly digital","Digital only"))
summary(mydata[c(35,36,62,63,65,66,68,69,70)])
## Q13 Q20 Q39 Q40
## Never : 3 Less than 50 :88 Male :63 Min. :20.00
## Less than once a month:40 50-100 :43 Female:89 1st Qu.:26.00
## Once a month :45 101-300 :20 Median :38.00
## 2-3 times a month :39 301-500 : 0 Mean :39.02
## Once a week :11 More than 500: 1 3rd Qu.:49.00
## 2-3 times a week :11 Max. :65.00
## Every day : 3
## Q41 Q42 Q43
## Unfinished Elementary: 0 Employed :118 Physical Work:14
## Finished Elementary : 2 Self-Employed: 25 Service :25
## Vocational School : 9 Retired : 0 Office :48
## General High School :43 Unemployed : 9 Public Sector:29
## Undergraduate Degree :55 Other : 0 Creative : 2
## Master's Degree :35 NA's :34
## PhD : 8
## Q44 Q45
## Urban :77 NLB :56
## Suburban:43 OTP :40
## Rural :32 Intesa Sanpaolo :19
## Unicredit :11
## Delavska hranilnica:10
## Revolut : 8
## (Other) : 8
mydata$Q46 <- as.numeric(as.character(mydata$Q46))
summary(mydata[, c(32,33,34,72,73,37,63)])
## Q22a_1...32 Q22b_1...33 Q22c_1...34 Q22d_1...72
## Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.000
## 1st Qu.:4.000 1st Qu.:5.000 1st Qu.:3.000 1st Qu.:3.000
## Median :5.000 Median :5.500 Median :4.000 Median :5.000
## Mean :4.967 Mean :5.217 Mean :4.211 Mean :4.632
## 3rd Qu.:6.000 3rd Qu.:7.000 3rd Qu.:5.000 3rd Qu.:6.000
## Max. :7.000 Max. :7.000 Max. :7.000 Max. :7.000
## Q22e_1...73 Q46 Q40
## Min. :1.000 Min. : 1.00 Min. :20.00
## 1st Qu.:5.000 1st Qu.: 66.50 1st Qu.:26.00
## Median :6.000 Median : 79.50 Median :38.00
## Mean :5.421 Mean : 72.51 Mean :39.02
## 3rd Qu.:7.000 3rd Qu.: 88.50 3rd Qu.:49.00
## Max. :7.000 Max. :100.00 Max. :65.00
Q22:Kako pomembni so naslednji dejavniki za uporabo digitalnih plačil? (1-7)
Q22a_1…32:Cashback
Ho: Cashback does not influence the use of digital payments.
H1: Cashback positively influence the use of digital payments.
We reject the null hypotheses. p-value < 0.001
#cashback
mydata$Q22a_1...32 <- as.numeric(as.character(mydata$Q22a_1...32))
shapiro.test(mydata$Q22a_1...32)
##
## Shapiro-Wilk normality test
##
## data: mydata$Q22a_1...32
## W = 0.89678, p-value = 7.351e-09
wilcox_test_result <- wilcox.test(mydata$Q22a_1...32,
mu = 4,
alternative = "greater",
correct = FALSE)
print(wilcox_test_result)
##
## Wilcoxon signed rank test
##
## data: mydata$Q22a_1...32
## V = 7673, p-value = 1.034e-09
## alternative hypothesis: true location is greater than 4
library(effectsize)
effectsize(wilcox.test(mydata$Q22a_1...32,
mu=4,
alternative = "greater",
correct=FALSE))
## r (rank biserial) | 95% CI
## --------------------------------
## 0.58 | [0.46, 1.00]
##
## - Deviation from a difference of 4.
## - One-sided CIs: upper bound fixed at [1.00].
interpret_rank_biserial(0.58, rules="funder2019")
## [1] "very large"
## (Rules: funder2019)
Q22b_1…33:Workshops about digital payments
Ho:Workshops about digital payments does not influence the use of digital payments.
H1:Workshops about digital payments positively influence the use of digital payments.
We reject the null hypotheses. p-value < 0.001
#workshops
mydata$Q22b_1...33 <- as.numeric(as.character(mydata$Q22b_1...33))
shapiro.test(mydata$Q22b_1...33)
##
## Shapiro-Wilk normality test
##
## data: mydata$Q22b_1...33
## W = 0.85167, p-value = 4.361e-11
wilcox_test_result <- wilcox.test(mydata$Q22b_1...33,
mu = 4,
alternative = "greater",
correct = FALSE)
print(wilcox_test_result)
##
## Wilcoxon signed rank test
##
## data: mydata$Q22b_1...33
## V = 8561.5, p-value = 6.524e-12
## alternative hypothesis: true location is greater than 4
effectsize(wilcox.test(mydata$Q22b_1...33,
mu=4,
alternative = "greater",
correct=FALSE))
## r (rank biserial) | 95% CI
## --------------------------------
## 0.64 | [0.54, 1.00]
##
## - Deviation from a difference of 4.
## - One-sided CIs: upper bound fixed at [1.00].
interpret_rank_biserial(0.64, rules="funder2019")
## [1] "very large"
## (Rules: funder2019)
Q22c_1…34:Loyalty programs
Ho:Loyalty programs does not influence the use of digital payments.
H1:Loyalty programs positively influence the use of digital payments.
We reject the null hypotheses. p-value < 0.071
#frequent purchase
mydata$Q22c_1...34 <- as.numeric(as.character(mydata$Q22c_1...34))
shapiro.test(mydata$Q22c_1...34)
##
## Shapiro-Wilk normality test
##
## data: mydata$Q22c_1...34
## W = 0.94141, p-value = 5.926e-06
wilcox_test_result <- wilcox.test(mydata$Q22c_1...34,
mu = 4,
alternative = "greater",
correct = FALSE)
print(wilcox_test_result)
##
## Wilcoxon signed rank test
##
## data: mydata$Q22c_1...34
## V = 4876.5, p-value = 0.07099
## alternative hypothesis: true location is greater than 4
effectsize(wilcox.test(mydata$Q22c_1...34,
mu=4,
alternative = "greater",
correct=FALSE))
## r (rank biserial) | 95% CI
## ---------------------------------
## 0.15 | [-0.02, 1.00]
##
## - Deviation from a difference of 4.
## - One-sided CIs: upper bound fixed at [1.00].
interpret_rank_biserial(0.15, rules="funder2019")
## [1] "small"
## (Rules: funder2019)
Q22d_1…72:Special discounts
Ho:Special discounts does not influence the use of digital payments.
H1:Special discounts positively influence the use of digital payments.
We reject the null hypotheses. p-value < 0.001
#warranty, mercator
mydata$Q22d_1...72 <- as.numeric(as.character(mydata$Q22d_1...72))
shapiro.test(mydata$Q22d_1...72)
##
## Shapiro-Wilk normality test
##
## data: mydata$Q22d_1...72
## W = 0.89361, p-value = 4.913e-09
wilcox_test_result <- wilcox.test(mydata$Q22d_1...72,
mu = 4,
alternative = "greater",
correct = FALSE)
print(wilcox_test_result)
##
## Wilcoxon signed rank test
##
## data: mydata$Q22d_1...72
## V = 6861, p-value = 5.215e-05
## alternative hypothesis: true location is greater than 4
effectsize(wilcox.test(mydata$Q22d_1...72,
mu=4,
alternative = "greater",
correct=FALSE))
## r (rank biserial) | 95% CI
## --------------------------------
## 0.37 | [0.23, 1.00]
##
## - Deviation from a difference of 4.
## - One-sided CIs: upper bound fixed at [1.00].
interpret_rank_biserial(0.37, rules="funder2019")
## [1] "large"
## (Rules: funder2019)
Q22e_1…73:Improved security
Ho:Improved security does not influence the use of digital payments.
H1:Improved security positively influence the use of digital payments.
We reject the null hypotheses. p-value < 0.001
#better security
mydata$Q22e_1...73 <- as.numeric(as.character(mydata$Q22e_1...73))
shapiro.test(mydata$Q22e_1...73)
##
## Shapiro-Wilk normality test
##
## data: mydata$Q22e_1...73
## W = 0.81335, p-value = 1.201e-12
wilcox_test_result <- wilcox.test(mydata$Q22e_1...73,
mu = 4,
alternative = "greater",
correct = FALSE)
print(wilcox_test_result)
##
## Wilcoxon signed rank test
##
## data: mydata$Q22e_1...73
## V = 8884.5, p-value = 5.76e-14
## alternative hypothesis: true location is greater than 4
effectsize(wilcox.test(mydata$Q22e_1...73,
mu=4,
alternative = "greater",
correct=FALSE))
## r (rank biserial) | 95% CI
## --------------------------------
## 0.70 | [0.61, 1.00]
##
## - Deviation from a difference of 4.
## - One-sided CIs: upper bound fixed at [1.00].
interpret_rank_biserial(0.70, rules="funder2019")
## [1] "very large"
## (Rules: funder2019)
Q46:Usage of digital payments relative to cash(0-100)
Q39:Gender (0-Male,1-Female)
Ho:There is no significant difference in usage of digital payments between male and female.
H1:Male use more digital payments than female, compared to cash usage.
We do not reject the null hypotheses. p-value > 0.10
#gender, digital%
wilcox_test_result <- wilcox.test(Q46 ~ Q39,
data = mydata,
alternative = "greater",
exact = FALSE)
print(wilcox_test_result)
##
## Wilcoxon rank sum test with continuity correction
##
## data: Q46 by Q39
## W = 2501.5, p-value = 0.8713
## alternative hypothesis: true location shift is greater than 0
Q43:What is your occupation? (Office based, Physical work, Public sector)
Ho:There is no difference in usage of digital payments among different occupations.
H1:There is a significant difference in usage of digital payments among different occupations.
We reject the null hypotheses. p-value < 0.058
Office based occupations use significantly more digital payments as physical work occupations. p-value < 0.012
kruskal.test(Q46 ~ Q43, data = mydata)
##
## Kruskal-Wallis rank sum test
##
## data: Q46 by Q43
## Kruskal-Wallis chi-squared = 9.1442, df = 4, p-value = 0.05759
library(rstatix)
##
## Attaching package: 'rstatix'
## The following objects are masked from 'package:effectsize':
##
## cohens_d, eta_squared
## The following object is masked from 'package:stats':
##
## filter
kruskal_effsize(Q46 ~ Q43,
data = mydata)
## # A tibble: 1 × 5
## .y. n effsize method magnitude
## * <chr> <int> <dbl> <chr> <ord>
## 1 Q46 152 0.0350 eta2[H] small
library(coin)
## Loading required package: survival
##
## Attaching package: 'coin'
## The following objects are masked from 'package:rstatix':
##
## chisq_test, friedman_test, kruskal_test, sign_test, wilcox_test
mydata$Q46 <- as.numeric(as.character(mydata$Q46))
pairwise_results <- pairwise_wilcox_test(Q46 ~ Q43,
paired=FALSE,
data = mydata,
p.adjust.method = "bonferroni")
print(pairwise_results)
## # A tibble: 10 × 9
## .y. group1 group2 n1 n2 statistic p p.adj p.adj.signif
## * <chr> <chr> <chr> <int> <int> <dbl> <dbl> <dbl> <chr>
## 1 Q46 Physical Work Service 14 25 189 0.692 1 ns
## 2 Q46 Physical Work Office 14 48 224 0.06 0.599 ns
## 3 Q46 Physical Work Public Se… 14 29 154. 0.203 1 ns
## 4 Q46 Physical Work Creative 14 2 14 1 1 ns
## 5 Q46 Service Office 25 48 378 0.01 0.099 ns
## 6 Q46 Service Public Se… 25 29 260. 0.078 0.78 ns
## 7 Q46 Service Creative 25 2 24 0.963 1 ns
## 8 Q46 Office Public Se… 48 29 785 0.351 1 ns
## 9 Q46 Office Creative 48 2 67 0.358 1 ns
## 10 Q46 Public Sector Creative 29 2 35 0.658 1 ns