3 Study 3

Data_Study3_Wide <- subset(Data_Meta_Raw.wide, Study == 3)

3.1 Data analysis

Run linear regressions for each sleep variable (IV) on endorsement of moral principles (DV)

QualCroLMS3<-lm(Moral_SCA~SleepQualCro, Data_Study3_Wide)
QualAcuLMS3<-lm(Moral_SCA~SleepQualAcu,Data_Study3_Wide)
QuantCroLMS3<-lm(Moral_SCA~SleepQuantCro, Data_Study3_Wide)
QuantAcuLMS3<-lm(Moral_SCA~SleepQuantAcu, Data_Study3_Wide)

Extract coefficients (unstandardized slopes, standard errors and p-values) from linear regression models

results_S3 <- rbind(
  tidy(QualCroLMS3)[2,],
  tidy(QualAcuLMS3)[2,],
  tidy(QuantCroLMS3)[2,],
  tidy(QuantAcuLMS3)[2,]) %>%
  mutate(
    p.value = case_when(
      p.value*4 < 1 ~ p.value*4,
      p.value*4 >= 1 ~ 1))

Prepare data for plots

Data_PlotS3<- Data_Study3_Wide %>%
  pivot_longer(
    cols=c(SleepQualCro, SleepQualAcu, SleepQuantCro, SleepQuantAcu),
    names_to="SleepType") %>%
  rename("SleepValue"=value) %>%
  mutate(
    SleepLength=case_when(
      SleepType=="SleepQualCro" | SleepType=="SleepQuantCro"~"Chronic",
      SleepType=="SleepQualAcu" | SleepType=="SleepQuantAcu"~"Acute"),
    SleepQuanthist=case_when(
      SleepType=="SleepQualCro" | SleepType=="SleepQualAcu"~"Sleep Quality",
      SleepType=="SleepQuantCro" | SleepType=="SleepQuantAcu"~"Sleep Quantity"))

Data_PlotS3$SleepType<-dplyr::recode(Data_PlotS3$SleepType, 
        "SleepQualCro" = "Quality of Chronic Sleep",
        "SleepQualAcu" = "Quality of Acute Sleep",
        "SleepQuantCro" = "Quantity of Chronic Sleep",
        "SleepQuantAcu" = "Quantity of Acute Sleep")

3.2 Summary of Study 3 results

Put results in a table

gt(results_S3) %>% 
  fmt_number(
    columns = 2:5,
    decimals = 2)
term estimate std.error statistic p.value
SleepQualCro 0.10 0.27 0.37 1.00
SleepQualAcu −0.14 0.25 −0.56 1.00
SleepQuantCro −0.17 0.38 −0.46 1.00
SleepQuantAcu −0.35 0.33 −1.05 1.00

3.3 Plot Study 3 results

Plot distribution for each sleep indicator

DistQualityS3<-ggplot(Data_PlotS3, aes(x=SleepValue, fill=factor(SleepLength))) + 
  geom_density(alpha=0.5, size=0.5,adjust = 2) + 
  scale_fill_manual(values=c("#193B94", "#BDCAEE", "#193B94", "#BDCAEE")) +
  theme_bw() + 
  ylab("Density") + xlab("") +
  facet_wrap(~factor(SleepQuanthist), scale="free_x") + 
  guides(fill=guide_legend("Sleep Length")) +
  theme(
    axis.title.y = element_text(size = 11, hjust = 0.5, face="bold"),
    axis.title.x = element_text(face="bold", size = 11, hjust = 0.5),
    legend.position="top",
    legend.title = element_text(colour="black", size=10, face="bold")) 
DistQualityS3

Plot distribution for the scores to the moral scale

DistMoralS3<-ggplot(Data_Study3_Raw, aes(x=Moral_SCA, fill="#193B94")) + 
  geom_density(alpha=0.5, size=0.5,adjust = 2) + 
  theme_bw() + 
  ylab("Density") + xlab("Moral Scale") +
  guides(fill="none") +
  theme(
    axis.title.y = element_text(size = 11, hjust = 0.5, face="bold"),
    axis.title.x = element_text(face="bold", size = 11, hjust = 0.5))
  
DistMoralS3

Scatterplots

ggplot(Data_PlotS3, aes(x=SleepValue, y=Moral_SCA)) + 
       geom_jitter(alpha=0.6, color="#545454", size=1.2) + 
       geom_smooth(method="lm")+
       facet_wrap(~factor(SleepType), scales="free_x") +
       theme_bw() + ylab("Utilitirianism") + xlab("") + 
       theme(axis.title.y = element_text(size = 11, hjust = 0.5, face="bold"), 
             axis.title.x = element_text(face="bold", size = 11, hjust = 0.5)) +
       guides(size=FALSE, colour=FALSE, fill=FALSE) 
## `geom_smooth()` using formula 'y ~ x'