knitr::opts_chunk$set(echo = TRUE, comment="")
library(readxl)
Durias <- read_excel("D:/MARV BS MATH/Marv 4th year, 1st sem/Regression Analysis/Data.xlsx",
col_types = c("numeric", "text", "numeric",
"numeric", "numeric", "numeric",
"numeric", "numeric", "numeric",
"numeric", "numeric", "numeric",
"numeric", "numeric", "numeric",
"numeric", "numeric", "numeric",
"numeric", "numeric", "numeric",
"numeric", "numeric", "numeric",
"numeric", "numeric", "numeric",
"numeric", "numeric", "numeric",
"numeric", "numeric", "numeric",
"numeric", "numeric", "numeric",
"numeric", "numeric", "numeric",
"numeric", "numeric", "numeric",
"numeric", "numeric", "numeric",
"numeric", "numeric", "numeric",
"numeric", "text", "numeric", "numeric",
"numeric", "numeric", "numeric",
"numeric", "numeric", "numeric",
"numeric", "numeric", "numeric",
"numeric", "numeric", "numeric",
"numeric", "numeric", "numeric",
"text", "numeric", "text", "numeric",
"text", "numeric", "numeric", "numeric",
"numeric", "numeric", "text", "numeric",
"text", "numeric", "text"))
New names:
• `Relax3` -> `Relax3...40`
• `Relax3` -> `Relax3...41`
• `Education` -> `Education...50`
• `` -> `...51`
• `Income` -> `Income...52`
• `` -> `...71`
• `Education` -> `Education...72`
• `` -> `...73`
• `` -> `...74`
• `` -> `...75`
• `Income` -> `Income...76`
• `` -> `...77`
• `` -> `...79`
• `` -> `...80`
• `` -> `...81`
• `` -> `...82`
Durias
library(dplyr)
Warning: package 'dplyr' was built under R version 4.2.2
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
Durias%>%
mutate(Agecode=ifelse(age<=50, "at most 50 years old", "More than 50 years old"))%>%
group_by(Agecode)%>%
summarise(count=n())%>%
mutate(Percentage =round((count/sum(count)*100),2))
library(dplyr)
Durias%>%
group_by(Gender)%>%
summarise(count=n())%>%
mutate(Percentage =round((count/sum(count)*100),2))
library(tidyverse)
Warning: package 'tidyverse' was built under R version 4.2.2
── Attaching packages ─────────────────────────────────────── tidyverse 1.3.2 ──
✔ ggplot2 3.4.0 ✔ purrr 0.3.4
✔ tibble 3.1.8 ✔ stringr 1.4.1
✔ tidyr 1.2.1 ✔ forcats 0.5.2
✔ readr 2.1.2
Warning: package 'ggplot2' was built under R version 4.2.2
── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag() masks stats::lag()
library(ggpubr)
Warning: package 'ggpubr' was built under R version 4.2.2
library(rstatix)
Warning: package 'rstatix' was built under R version 4.2.2
Attaching package: 'rstatix'
The following object is masked from 'package:stats':
filter
Durias$Education<-Durias$Education...72
Durias1<-Durias%>%
mutate(Educationcode = recode(`Education`,
"Colege graduate" = "College graduate", "Ementary level" = "Elementary level", "High schoo graduate" = "High school graduate", "High School graduate" = "High school graduate", "High sschool graduate" = "High school graduate", "High scool level" = "High school level", "Highschool level " = "High school level", "Highschool level" = "High school level", "Highschool level " = "High school level", "High chool graduate" = "High school graduate"))
Durias1<-Durias1%>%
reorder_levels(Educationcode, order = c("Elementary level", "Elementary graduate", "High school level", "High school graduate","College level", "College graduate"))
Durias1
library(dplyr)
Durias1%>%
group_by(Educationcode)%>%
summarise(count=n())%>%
mutate(Percentage =round((count/sum(count)*100),2))
Durias1$Income<-Durias1$Income...76
Durias1$Income<-as.factor(Durias1$Income)
library(dplyr)
Durias1%>%
group_by(Income)%>%
summarise(count=n())%>%
mutate(Percentage =round((count/sum(count)*100),2))
Durias1<-Durias%>%
mutate(Stress1 = recode(`Stress`,
"mild" = "Mild"))
Durias1<-Durias1%>%
reorder_levels(Stress1, order = c("Normal", "Mild", "Moderate", "Severe","Extremely severe", "College graduate"))
Durias1
Durias1<-Durias1%>%
reorder_levels(Stress1, order = c("Normal", "Mild", "Moderate", "Severe","Extremely severe", "College graduate"))
Durias1%>%
group_by(Stress1)%>%
summarise(count=n())%>%
mutate(Percentage =round((count/sum(count)*100),2))
Durias1<-Durias%>%
mutate(Anxiety1 = recode(`Anxiety`,
"mild" = "Mild"))
Durias1<-Durias1%>%
reorder_levels(Anxiety1, order = c("Normal", "Mild", "Moderate", "Severe","Extremely severe"))
Durias1%>%
group_by(Anxiety1)%>%
summarise(count=n())%>%
mutate(Percentage =round((count/sum(count)*100),2))
Durias2<-Durias1%>%
gather(key = "Coping", value = "Score", ReappraisalMean, SocialSupportMean, ProbSolvingMean, RelMean, TolMean, Emomean, OveracMean, RelaxMean,Subsmean) %>%
convert_as_factor(Coping)
Durias2
#Summary statistics
Durias2%>%
group_by(Coping) %>%
get_summary_stats(Score, type = "mean_sd")
library(performance)
multiple <- lm(StTotal ~ ReappraisalMean + SocialSupportMean +ProbSolvingMean + RelMean + TolMean + Emomean + OveracMean + RelaxMean + Subsmean, data = Durias1)
summary(multiple)
Call:
lm(formula = StTotal ~ ReappraisalMean + SocialSupportMean +
ProbSolvingMean + RelMean + TolMean + Emomean + OveracMean +
RelaxMean + Subsmean, data = Durias1)
Residuals:
Min 1Q Median 3Q Max
-12.2452 -4.1688 0.1868 3.0768 20.7605
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 7.6781 4.8332 1.589 0.1145
ReappraisalMean 0.5264 1.1958 0.440 0.6605
SocialSupportMean 1.1563 1.0585 1.092 0.2766
ProbSolvingMean -2.5310 1.3180 -1.920 0.0569 .
RelMean 0.8649 1.2815 0.675 0.5009
TolMean -0.3901 0.9907 -0.394 0.6943
Emomean 1.9311 1.3611 1.419 0.1583
OveracMean 0.8203 1.3734 0.597 0.5513
RelaxMean -1.2134 1.2422 -0.977 0.3304
Subsmean 3.9883 1.6741 2.382 0.0186 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 5.868 on 135 degrees of freedom
Multiple R-squared: 0.1216, Adjusted R-squared: 0.063
F-statistic: 2.076 on 9 and 135 DF, p-value: 0.03584
As shown in the above results, it shows that the model is better than a model with only the intercept because at least one coefficient β is significantly different from 0 with a p -value = 0.03584. It also shows that substance-use significantly predict stress with a p-value results of 0.0186. The coefficient of substance-use is 3.9883, this means that higher substance-use score indicates higher stress level. On, the average, a one unit increase in substance-use increases its stress level by 3.9883.
check_model(multiple)
multiple <- lm(AnTotal ~ ReappraisalMean + SocialSupportMean +ProbSolvingMean + RelMean + TolMean + Emomean + OveracMean + RelaxMean + Subsmean, data = Durias1)
summary(multiple)
Call:
lm(formula = AnTotal ~ ReappraisalMean + SocialSupportMean +
ProbSolvingMean + RelMean + TolMean + Emomean + OveracMean +
RelaxMean + Subsmean, data = Durias1)
Residuals:
Min 1Q Median 3Q Max
-8.640 -3.572 -1.267 2.766 20.594
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.79897 4.46615 -0.179 0.85829
ReappraisalMean 1.60382 1.10498 1.451 0.14897
SocialSupportMean 1.31082 0.97808 1.340 0.18243
ProbSolvingMean -1.97803 1.21791 -1.624 0.10668
RelMean -0.32183 1.18417 -0.272 0.78621
TolMean 0.24674 0.91544 0.270 0.78793
Emomean 0.77602 1.25779 0.617 0.53829
OveracMean 1.75879 1.26915 1.386 0.16809
RelaxMean -0.05083 1.14784 -0.044 0.96475
Subsmean 4.47935 1.54695 2.896 0.00442 **
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 5.423 on 135 degrees of freedom
Multiple R-squared: 0.1414, Adjusted R-squared: 0.08411
F-statistic: 2.469 on 9 and 135 DF, p-value: 0.01223
As shown in the above results, it shows that the model is better than a model with only the intercept because at least one coefficient β is significantly different from 0 with a p -value = 0.006703. It also shows that substance-use significantly predict anxiety with a p-value result of 0.00387. The coefficient of substance-use is 4.4680, this means that higher substance-use score indicates higher anxiety level. On, the average, a one unit increase in substance-use increases its anxiety level by 4.680.
check_model(multiple)
cor.test(Durias1$StTotal, Durias$AnTotal)
Pearson's product-moment correlation
data: Durias1$StTotal and Durias$AnTotal
t = 9.743, df = 143, p-value < 2.2e-16
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
0.5224234 0.7204693
sample estimates:
cor
0.6316421
Based on the results above, it shows that there is a positive correlation between anxiety and anxiety with a correlation value of 0.6316421. It further shows that there is a signification relationship between anxiety and stress with a p-value result of 2.2e-16, that is, 0.00000000000000022.