rm(list = ls())
setwd("~/Downloads")
library(foreign)
sex_data <- read.spss("sex_data.sav", use.value.label=TRUE, to.data.frame=TRUE)

Libraries/themes

library(ggplot2)
library(tidyverse)
library(gridExtra)
library(finalfit)
library(kableExtra)
library(xtable)
jrothsch_theme <-  theme_bw() + 
  theme(text = element_text(size = 10, face = "bold", color = "deepskyblue4"),panel.grid = element_blank(),axis.text = element_text(size = 10, color = "gray13"), axis.title = element_text(size = 10, color = "red"), legend.text = element_text(colour="Black", size=10), legend.title = element_text(colour="Black", size=7), plot.subtitle = element_text(size=14, face="italic", color="black"))

Removing obserations without our key variables

sex_data <- sex_data[!is.na(sex_data$status),]
sex_data <- sex_data[!is.na(sex_data$age),]
sex_data <- sex_data[!is.na(sex_data$Years_PrimaryPartner),]
sex_data <- sex_data[!is.na(sex_data$MALE),]

Making variables

sex_data <- sex_data %>%
  mutate(married = status == "Married")

sex_data <- sex_data %>%
  mutate(married_gender = ifelse(married, 
                                 ifelse(MALE == "Male", "Married Male", "Married Female"),
                                 ifelse(MALE == "Male", "Unmarried Male", "Unmarried Female ")))

  married_num =   length(sex_data$married[sex_data$married == T])
  unmarried_num =   length(sex_data$married[sex_data$married == T])
  
  sex_data <- sex_data %>% mutate(freq_num =  as.numeric(ifelse(sexfreq == "At least once per day", 6, 
                                ifelse(sexfreq == "3-4 times per week", 5,
                                  ifelse(sexfreq == 'At least once a week', 4,
                                       ifelse(sexfreq == 'At least once per month', 3, 
                                              ifelse(sexfreq =='At least once per year', 2,
                                                     ifelse( sexfreq =="Less than once a year", 1, 0))))))))
  
  
  female <- sex_data %>%
  filter(sex_data$MALE == "Female")

Binary graphs

bin_graphs_want <- function(df, mod, modname, modlabs,  interaction_labs){
  
  
  df2 = df[!is.na(df$want) & !is.na(mod),]
  mod = mod[!is.na(df$want) & !is.na(mod)]
  
    df2$mod_married = interaction(df2$married, mod)
     
    age <- ggplot(data = df2, aes(x = age, y = want, color = mod))  +
      geom_smooth() +
      labs(title = paste("Effect Of", modname, "On", "Want", " -- Age"), x = "Age", y = "Want", color = "") + 
      scale_x_continuous(limits = c(18, 80)) +
      scale_color_discrete(labels = modlabs) + 
      jrothsch_theme
  
  sum_inter <- df2 %>%
      group_by( mod_married) %>%
      summarize(DV = mean(want))
    
    mod_married <- ggplot(data = sum_inter,  aes(x = mod_married, y = DV)) +
    geom_bar(stat = 'identity', position = 'identity', fill = "Black") + 
      scale_x_discrete(labels = interaction_labs) + 
      labs(title = paste0("Interaction Between ", modname, "And Marriage"), y = "Want", x = "") +
      jrothsch_theme
    
    
    grid.arrange(age, mod_married)
    
}

bin_graphs_like <- function(df, mod, modname, modlabs, interaction_labs){
  

  
  df2 = df[!is.na(df$totlike) & !is.na(mod),]
  mod = mod[!is.na(df$totlike) & !is.na(mod)]
  
    df2$mod_married = interaction(df2$married, mod)
     
    age <- ggplot(data = df2, aes(x = age, y = totlike, color = mod))  +
      geom_smooth() +
      labs(title = paste("Effect Of", modname, "On", "Like", " -- Age"), x = "Age", y = "Like", color = "") + 
      scale_x_continuous(limits = c(18, 80)) +
      scale_color_discrete(labels = modlabs) + 
      jrothsch_theme
  
  sum_inter <- df2 %>%
      group_by( mod_married) %>%
      summarize(DV = mean(totlike))
    
    mod_married <- ggplot(data = sum_inter,  aes(x = mod_married, y = DV)) +
    geom_bar(stat = 'identity', position = 'identity', fill = "black") +
         scale_x_discrete(labels = interaction_labs) + 
      labs(title = paste0("Interaction Between ", modname, "And Marriage"), y = "Like", x = "") +
      jrothsch_theme
    
    
    grid.arrange(age, mod_married)
    
}
bin_graphs_freq <- function(df, mod, modname, modlabs, interaction_labs){
  

  
  df2 = df[!is.na(df$freq_num) & !is.na(mod),]
  mod = mod[!is.na(df$freq_num) & !is.na(mod)]
  
    df2$mod_married = interaction(df2$married, mod)
     
    age <- ggplot(data = df2, aes(x = age, y = freq_num, color = mod))  +
      geom_smooth() +
      labs(title = paste("Effect Of", modname, "On", "Frequency", " -- Age"), x = "Age", y = "Frequency", color = "") + 
      scale_x_continuous(limits = c(18, 80)) +
      scale_color_discrete(labels = modlabs) + 
      jrothsch_theme
  
  sum_inter <- df2 %>%
      group_by(mod_married) %>%
      summarize(DV = mean(freq_num))
    
    mod_married <- ggplot(data = sum_inter,  aes(x = mod_married, y = DV)) +
    geom_bar(stat = 'identity', position = 'identity', fill = "black") +    
      scale_x_discrete(labels = interaction_labs) + 
      labs(title = paste0("Interaction Between ", modname, "And Marriage"), y = "Frequency", x = "") +
      jrothsch_theme
    
    
    grid.arrange(age, mod_married)
    
}

Small continuous graphs

contsmall <- function(df, mod, modname, modlabs){

  df2 = df[!is.na(df$want) & !is.na(df$totlike) & !is.na(df$freq_num ) & !is.na(mod) ,]
  mod = mod[!is.na(df$want) & !is.na(df$totlike) & !is.na(df$freq_num ) & !is.na(mod)]
  
want <- ggplot(df2, aes(x=mod, y=  want)) +
  stat_summary_bin(fun.y='mean', bins=20,
                    size=2, geom='point', mapping = aes(group = married, color = married)) +
  geom_smooth(method='lm', se = F, aes(color = married)) + jrothsch_theme +
  labs(title = paste0("Interaction between marriage and ", modname ), x = modname, y = "Want")
  
like <- ggplot(df2, aes(x=mod, y = totlike)) +
  stat_summary_bin(fun.y='mean', bins=20,
                    size=2, geom='point', mapping = aes(group = married, color = married)) +
  geom_smooth(method='lm', se = F, aes(color = married)) + jrothsch_theme +
    labs( x = modname, y = "Like")


freq <- ggplot(df2, aes(x=mod, y=  freq_num)) +
  stat_summary_bin(fun.y='mean', bins=20,
                    size=2, geom='point', mapping = aes(group = married, color = married)) +
  geom_smooth(method='lm', se = F, aes(color = married)) + jrothsch_theme +
      labs( x = modname, y = "Frequency")

  

grid.arrange(want, like, freq)

}

Regressions – Standard

###################################################################################################################################
#REgressions
#########################################################################################################################
  reg_no_mod <- function(dv, df){
      dv <- as.numeric(dv)
  tx1 <- df %>% lm(dv ~ married, data = .)

  
  tx1 <- xtable(tx1)
  colnames(tx1)[colnames(tx1)=="Pr(>|t|)"] <- "p_value"
    colnames(tx1)[colnames(tx1)=="t value"] <- "t_value"

  
  tx1 <- tx1 %>%
    mutate(p_value = round(p_value, 4)) %>%
    mutate(t_value = round(t_value, 3)) %>%
    mutate(p_value= cell_spec(p_value, "html", background = ifelse(p_value < .01, "gold", "white"))) %>%
    mutate(t_value= cell_spec(t_value, "html", background = ifelse(t_value < -2.5, "#FF6347", 
                                                                   ifelse(t_value > 2.5, "lightgreen", "white"))))

  
  rownames(tx1) <- c("Intercept", "Married: True")
  
kable(tx1, row.names= T, align=c("l", "l", "r", "r", "r", "r")  ,
            booktabs=TRUE, escape = F) %>% 
    kable_styling(font_size=8) 
    
  }


###########################################################################################################################
  reg_no_mod_i <- function(dv, df){

  dv <- as.numeric(dv)
  tx1 <- df %>% lm(dv ~ married + age + married*age, data = .)

  tx1 <- xtable(tx1)
  colnames(tx1)[colnames(tx1)=="Pr(>|t|)"] <- "p_value"
    colnames(tx1)[colnames(tx1)=="t value"] <- "t_value"

  
  tx1 <- tx1 %>%
    mutate(p_value = round(p_value, 4)) %>%
    mutate(t_value = round(t_value, 3)) %>%
    mutate(p_value= cell_spec(p_value, "html", background = ifelse(p_value < .01, "gold", "white"))) %>%
    mutate(t_value= cell_spec(t_value, "html", background = ifelse(t_value < -2.5, "#FF6347", 
                                                                   ifelse(t_value > 2.5, "lightgreen", "white"))))

  
  rownames(tx1) <- c("Intercept", "Married: TRUE", "Age",  "Married X Age")
  
kable(tx1, row.names= T, align=c("l", "l", "r", "r", "r", "r")  ,
            booktabs=TRUE, escape = F) %>% 
    kable_styling(font_size=8) 
    
  }

##################################################################################################################

  reg_no_mod_control <- function(dv, df){

  dv <- as.numeric(dv)
  tx1 <- df %>% lm(dv ~ married + age +  Years_PrimaryPartner + MALE, data = .)

  tx1 <- xtable(tx1)
  colnames(tx1)[colnames(tx1)=="Pr(>|t|)"] <- "p_value"
    colnames(tx1)[colnames(tx1)=="t value"] <- "t_value"

  
  tx1 <- tx1 %>%
    mutate(p_value = round(p_value, 4)) %>%
    mutate(t_value = round(t_value, 3)) %>%
    mutate(p_value= cell_spec(p_value, "html", background = ifelse(p_value < .01, "gold", "white"))) %>%
    mutate(t_value= cell_spec(t_value, "html", background = ifelse(t_value < -2.5, "#FF6347", 
                                                                   ifelse(t_value > 2.5, "lightgreen", "white"))))

  
  rownames(tx1) <- c("Intercept", "Married: TRUE", "Age",  "Duration", "MALE")
  
kable(tx1, row.names= T, align=c("l", "l", "r", "r", "r")  ,
            booktabs=TRUE, escape = F) %>% 
    kable_styling(font_size=8) 
    
  }

##################################################################################################################

  reg_just_mod_i <- function(dv, df, mod, modname){
    
      dv <- as.numeric(dv)
  tx1 <- df %>% lm(dv ~ married + mod, data = .)

  
  tx1 <- xtable(tx1)
  colnames(tx1)[colnames(tx1)=="Pr(>|t|)"] <- "p_value"
    colnames(tx1)[colnames(tx1)=="t value"] <- "t_value"

  
  tx1 <- tx1 %>%
    mutate(p_value = round(p_value, 4)) %>%
    mutate(t_value = round(t_value, 3)) %>%
    mutate(p_value= cell_spec(p_value, "html", background = ifelse(p_value < .01, "gold", "white"))) %>%
    mutate(t_value= cell_spec(t_value, "html", background = ifelse(t_value < -2.5, "#FF6347", 
                                                                   ifelse(t_value > 2.5, "lightgreen", "white"))))

  
  rownames(tx1) <- c("Intercept", "Married: True", modname)
  
kable(tx1, row.names= T, align=c("l", "l", "r", "r", "r")  ,
            booktabs=TRUE, escape = F) %>% 
    kable_styling(font_size=8) 
    
  }
  
#############################################################################################################################################################################################################################################################
  reg_full_control <- function(dv, df, mod, modname){
     
     dv <- as.numeric(dv)
       tx1 <- df %>% lm(dv ~ married + mod + age + Years_PrimaryPartner + MALE, data = .)
  
      
  tx1 <- xtable(tx1)
  colnames(tx1)[colnames(tx1)=="Pr(>|t|)"] <- "p_value"
    colnames(tx1)[colnames(tx1)=="t value"] <- "t_value"

  
  tx1 <- tx1 %>%
    mutate(p_value = round(p_value, 4)) %>%
    mutate(t_value = round(t_value, 3)) %>%
    mutate(p_value= cell_spec(p_value, "html", background = ifelse(p_value < .01, "gold", "white"))) %>%
    mutate(t_value= cell_spec(t_value, "html", background = ifelse(t_value < -2.5, "#FF6347", 
                                                                   ifelse(t_value > 2.5, "lightgreen", "white"))))

  
  rownames(tx1) <- c("Intercept", "Married: True", modname, "Age (years)", "Duration", "Male")
  
kable(tx1, row.names= T, align=c("l", "l", "r", "r", "r")  ,
            booktabs=TRUE, escape = F) %>% 
    kable_styling(font_size=8) 
    
  
    
  }


 


#############################################################################################################################################################################################################################################################
  reg_full_control_i <- function(dv, df, mod, modname){
    
          dv <- as.numeric(dv)
  tx1 <- df %>% lm(dv ~ married + mod + age + Years_PrimaryPartner + MALE + married*age, data = .)

  
  tx1 <- xtable(tx1)
  colnames(tx1)[colnames(tx1)=="Pr(>|t|)"] <- "p_value"
    colnames(tx1)[colnames(tx1)=="t value"] <- "t_value"

  
  tx1 <- tx1 %>%
    mutate(p_value = round(p_value, 4)) %>%
    mutate(t_value = round(t_value, 3)) %>%
    mutate(p_value= cell_spec(p_value, "html", background = ifelse(p_value < .01, "gold", "white"))) %>%
    mutate(t_value= cell_spec(t_value, "html", background = ifelse(t_value < -2.5, "#FF6347", 
                                                                   ifelse(t_value > 2.5, "lightgreen", "white"))))

  
  rownames(tx1) <- c("Intercept", "Married: True", modname, "Age (years)", "Duration", "Male", "Married X Age")
  
kable(tx1, row.names= T, align=c("l", "l", "r", "r")  ,
            booktabs=TRUE, escape = F) %>% 
    kable_styling(font_size=8) 
  }

Subsets where controls can’t be used – e.g. one gender subsets

     reg_full_control_gend <- function(dv, df, mod, modname){

    
      dv <- as.numeric(dv)
      
       tx1 <- df %>% lm(dv ~ married + mod + age + Years_PrimaryPartner, data = .)
  
      
  tx1 <- xtable(tx1)
  colnames(tx1)[colnames(tx1)=="Pr(>|t|)"] <- "p_value"
    colnames(tx1)[colnames(tx1)=="t value"] <- "t_value"

  
  tx1 <- tx1 %>%
    mutate(p_value = round(p_value, 4)) %>%
    mutate(t_value = round(t_value, 3)) %>%
    mutate(p_value= cell_spec(p_value, "html", background = ifelse(p_value < .01, "gold", "white"))) %>%
    mutate(t_value= cell_spec(t_value, "html", background = ifelse(t_value < -2.5, "#FF6347", 
                                                                   ifelse(t_value > 2.5, "lightgreen", "white"))))

  
  rownames(tx1) <- c("Intercept", "Married: True", modname, "Age (years)", "Duration" )
  
kable(tx1, row.names= T, align=c("l", "l", "r", "r")  ,
            booktabs=TRUE, escape = F) %>% 
    kable_styling(font_size=8) 
    
  
    
     }

 reg_full_control_gend_i <- function(dv, df, mod, modname){
    
          dv <- as.numeric(dv)
  tx1 <- df %>% lm(dv ~ married + mod + age + Years_PrimaryPartner + age*married, data = .)

  
  tx1 <- xtable(tx1)
  colnames(tx1)[colnames(tx1)=="Pr(>|t|)"] <- "p_value"
    colnames(tx1)[colnames(tx1)=="t value"] <- "t_value"

  
  tx1 <- tx1 %>%
    mutate(p_value = round(p_value, 4)) %>%
    mutate(t_value = round(t_value, 3)) %>%
    mutate(p_value= cell_spec(p_value, "html", background = ifelse(p_value < .01, "gold", "white"))) %>%
    mutate(t_value= cell_spec(t_value, "html", background = ifelse(t_value < -2.5, "#FF6347", 
                                                                   ifelse(t_value > 2.5, "lightgreen", "white"))))

  
  rownames(tx1) <- c("Intercept", "Married: True", modname, "Age (years)", "Duration", "Married X Age")
  
kable(tx1, row.names= T, align=c("l", "l", "r", "r")  ,
            booktabs=TRUE, escape = F) %>% 
    kable_styling(font_size=8) 
  }

Looking at modertators interaction with marriage

  ireg_just_mod_i <- function(dv, df, mod, modname){
    
      dv <- as.numeric(dv)
  tx1 <- df %>% lm(dv ~ married + mod + married*mod, data = .)

  
  tx1 <- xtable(tx1)
  colnames(tx1)[colnames(tx1)=="Pr(>|t|)"] <- "p_value"
    colnames(tx1)[colnames(tx1)=="t value"] <- "t_value"

  
  tx1 <- tx1 %>%
    mutate(p_value = round(p_value, 4)) %>%
    mutate(t_value = round(t_value, 3)) %>%
    mutate(p_value= cell_spec(p_value, "html", background = ifelse(p_value < .01, "gold", "white"))) %>%
    mutate(t_value= cell_spec(t_value, "html", background = ifelse(t_value < -2.5, "#FF6347", 
                                                                   ifelse(t_value > 2.5, "lightgreen", "white"))))

  
  rownames(tx1) <- c("Intercept", "Married: True", modname, paste("Married X", modname))
  
kable(tx1, row.names= T, align=c("l", "l", "r", "r", "r", "r")  ,
            booktabs=TRUE, escape = F) %>% 
    kable_styling(font_size=8) 
    
  }
  
#############################################################################################################################################################################################################################################################
  ireg_full_control <- function(dv, df, mod, modname){
     
     dv <- as.numeric(dv)
       tx1 <- df %>% lm(dv ~ married + mod + age + Years_PrimaryPartner + MALE + married*mod, data = .)
  
      
  tx1 <- xtable(tx1)
  colnames(tx1)[colnames(tx1)=="Pr(>|t|)"] <- "p_value"
    colnames(tx1)[colnames(tx1)=="t value"] <- "t_value"

  
  tx1 <- tx1 %>%
    mutate(p_value = round(p_value, 4)) %>%
    mutate(t_value = round(t_value, 3)) %>%
    mutate(p_value= cell_spec(p_value, "html", background = ifelse(p_value < .01, "gold", "white"))) %>%
    mutate(t_value= cell_spec(t_value, "html", background = ifelse(t_value < -2.5, "#FF6347", 
                                                                   ifelse(t_value > 2.5, "lightgreen", "white"))))

  
  rownames(tx1) <- c("Intercept", "Married: True", modname, "Age (years)", "Duration", "Male",  paste("Married X", modname))
  
kable(tx1, row.names= T, align=c("l", "l", "r", "r", "r", "r")  ,
            booktabs=TRUE, escape = F) %>% 
    kable_styling(font_size=8) 
    
  
    
  }


 


#############################################################################################################################################################################################################################################################
  ireg_full_control_i <- function(dv, df, mod, modname){
    
          dv <- as.numeric(dv)
  tx1 <- df %>% lm(dv ~ married + mod + age + Years_PrimaryPartner + MALE + age*married + married*mod, data = .)

  
  tx1 <- xtable(tx1)
  colnames(tx1)[colnames(tx1)=="Pr(>|t|)"] <- "p_value"
    colnames(tx1)[colnames(tx1)=="t value"] <- "t_value"

  
  tx1 <- tx1 %>%
    mutate(p_value = round(p_value, 4)) %>%
    mutate(t_value = round(t_value, 3)) %>%
    mutate(p_value= cell_spec(p_value, "html", background = ifelse(p_value < .01, "gold", "white"))) %>%
    mutate(t_value= cell_spec(t_value, "html", background = ifelse(t_value < -2.5, "#FF6347", 
                                                                   ifelse(t_value > 2.5, "lightgreen", "white"))))

  
  rownames(tx1) <- c("Intercept", "Married: True", modname, "Age (years)", "Duration", "Male", "Married X Age",  paste("Married X", modname))
  
kable(tx1, row.names= T, align=c("l", "l", "r", "r", "r", "r")  ,
            booktabs=TRUE, escape = F) %>% 
    kable_styling(font_size=8) 
  }
  
  
  
   
    
    #############################################################################################################################################################################################################################################################
   #For subsets wheere we can't use all controls
    
    #############################################################################################################################################################################################################################################################
    
     ireg_full_control_gend <- function(dv, df, mod, modname){

    
      dv <- as.numeric(dv)
      
       tx1 <- df %>% lm(dv ~ married + mod + age + Years_PrimaryPartner + married*mod, data = .)
  
      
  tx1 <- xtable(tx1)
  colnames(tx1)[colnames(tx1)=="Pr(>|t|)"] <- "p_value"
    colnames(tx1)[colnames(tx1)=="t value"] <- "t_value"

  
  tx1 <- tx1 %>%
    mutate(p_value = round(p_value, 4)) %>%
    mutate(t_value = round(t_value, 3)) %>%
    mutate(p_value= cell_spec(p_value, "html", background = ifelse(p_value < .01, "gold", "white"))) %>%
    mutate(t_value= cell_spec(t_value, "html", background = ifelse(t_value < -2.5, "#FF6347", 
                                                                   ifelse(t_value > 2.5, "lightgreen", "white"))))

  
  rownames(tx1) <- c("Intercept", "Married: True", modname, "Age (years)", "Duration",  paste("Married X", modname))
  
kable(tx1, row.names= T, align=c("l", "l", "r", "r",  "r")  ,
            booktabs=TRUE, escape = F) %>% 
    kable_styling(font_size=8) 
    
  
    
     }

 ireg_full_control_gend_i <- function(dv, df, mod, modname){
    
          dv <- as.numeric(dv)
  tx1 <- df %>% lm(dv ~ married + mod + age + Years_PrimaryPartner + age*married + married*mod, data = .)

  
  tx1 <- xtable(tx1)
  colnames(tx1)[colnames(tx1)=="Pr(>|t|)"] <- "p_value"
    colnames(tx1)[colnames(tx1)=="t value"] <- "t_value"

  
  tx1 <- tx1 %>%
    mutate(p_value = round(p_value, 4)) %>%
    mutate(t_value = round(t_value, 3)) %>%
    mutate(p_value= cell_spec(p_value, "html", background = ifelse(p_value < .01, "gold", "white"))) %>%
    mutate(t_value= cell_spec(t_value, "html", background = ifelse(t_value < -2.5, "#FF6347", 
                                                                   ifelse(t_value > 2.5, "lightgreen", "white"))))

  
  rownames(tx1) <- c("Intercept", "Married: True", modname, "Age (years)", "Duration", "Married X Age",  paste("Married X", modname))
  
kable(tx1, row.names= T, align=c("l", "l", "r", "r", "r")  ,
            booktabs=TRUE, escape = F) %>% 
    kable_styling(font_size=8) 
  }

Marriage on Want/Age/Like without mediators, with or without controls, for comparison

Want - Marriage

reg_no_mod(sex_data$want, sex_data )
Estimate Std. Error t_value p_value
Intercept 28.927462 0.2358428 122.656 0
Married: True -5.062436 0.2804827 -18.049 0

Like - Marriage

reg_no_mod(sex_data$totlike, sex_data )
Estimate Std. Error t_value p_value
Intercept 38.524460 0.2654955 145.104 0
Married: True -3.954296 0.3168241 -12.481 0

Frequency - Marriage

reg_no_mod(sex_data$freq_num, sex_data)
Estimate Std. Error t_value p_value
Intercept 3.6641623 0.0408283 89.746 0
Married: True -0.6595098 0.0480844 -13.716 0

Want - Marriage, controls

reg_no_mod_control(sex_data$want, sex_data )
Estimate Std. Error t_value p_value
Intercept 33.6515234 0.3616805 93.042 0
Married: TRUE -2.4498192 0.2836310 -8.637 0
Age -0.1788330 0.0079330 -22.543 0
Duration -0.0164498 0.0049803 -3.303 0.001
MALE 4.5428634 0.2430139 18.694 0

Like - Marriage, controls

reg_no_mod_control(sex_data$totlike, sex_data)
Estimate Std. Error t_value p_value
Intercept 40.9088281 0.4368889 93.637 0
Married: TRUE -2.6911441 0.3412552 -7.886 0
Age -0.0852356 0.0095901 -8.888 0
Duration -0.0098875 0.0058960 -1.677 0.0936
MALE 1.9027594 0.2944406 6.462 0

Frequency - Marriage, controls

reg_no_mod_control(sex_data$freq_num, sex_data)
Estimate Std. Error t_value p_value
Intercept 4.8698702 0.0640338 76.052 0
Married: TRUE -0.1485242 0.0488622 -3.04 0.0024
Age -0.0334322 0.0014244 -23.471 0
Duration -0.0032137 0.0010801 -2.975 0.0029
MALE 0.2339988 0.0411009 5.693 0

Menopause doesn’t remove marriage effect, and any effect is likely due to age.

Want Graphs

bin_graphs_want(female, female$postmeno, "Menopause Status", c("Pre Menopause", "Post Menopause"),  
                     c("Unmarried, Pre", "Married, Pre", "Unmarried, Post", "Married, Post"))

Like Graphs

bin_graphs_like(female, female$postmeno, "Menopause Status", c("Pre Menopause", "Post Menopause"),  
                     c("Unmarried, Pre", "Married, Pre", "Unmarried, Post", "Married, Post"))

Frequency Graphs

bin_graphs_freq(female, female$postmeno, "Menopause Status", c("Pre Menopause", "Post Menopause"),  
                     c("Unmarried, Pre", "Married, Pre", "Unmarried, Post", "Married, Post"))

Want - Only Menopause

reg_just_mod_i(female$want, female, female$postmeno, "Menopause")
Estimate Std. Error t_value p_value
Intercept 27.820409 0.7494864 37.119 0
Married: True -5.305510 0.7624238 -6.959 0
Menopause -4.303908 0.6492579 -6.629 0

Want – Full Controls

reg_full_control_gend(female$want, female, female$postmeno, "Menopause")
Estimate Std. Error t_value p_value
Intercept 33.6748401 1.2119710 27.785 0
Married: True -4.3213696 0.7725891 -5.593 0
Menopause -0.7868144 0.8512848 -0.924 0.3556
Age (years) -0.1575124 0.0261521 -6.023 0
Duration -0.0070232 0.0080199 -0.876 0.3814

Like - Only Menopause

reg_just_mod_i(female$totlike, female, female$postmeno, "Menopause")
Estimate Std. Error t_value p_value
Intercept 38.917864 0.9591764 40.574 0
Married: True -4.903643 0.9751163 -5.029 0
Menopause -2.936073 0.8399695 -3.495 5e-04

Like – Full Controls

reg_full_control_gend(female$totlike, female, female$postmeno, "Menopause")
Estimate Std. Error t_value p_value
Intercept 41.5508777 1.5897668 26.136 0
Married: True -4.5731014 1.0079795 -4.537 0
Menopause -1.3677219 1.1346274 -1.205 0.2284
Age (years) -0.0721802 0.0347618 -2.076 0.0382
Duration 0.0027988 0.0101813 0.275 0.7835

Frequency - Only Menopause

reg_just_mod_i(female$freq_num, female, female$postmeno, "Menopause")
Estimate Std. Error t_value p_value
Intercept 3.5496615 0.1434452 24.746 0
Married: True -0.4410055 0.1443420 -3.055 0.0023
Menopause -0.8174278 0.1219319 -6.704 0

Frequency – Full Controls

reg_full_control_gend(female$freq_num, female, female$postmeno, "Menopause")
Estimate Std. Error t_value p_value
Intercept 5.0329825 0.2475783 20.329 0
Married: True -0.1349138 0.1525934 -0.884 0.3769
Menopause 0.0841373 0.1536656 0.548 0.5842
Age (years) -0.0386300 0.0055250 -6.992 0
Duration -0.0061284 0.0042411 -1.445 0.1488

Sexual Desire Has A Strong Effect, But Doesn’t Interact Strongly With Marriage

Graphs

# (5 - desire )because scale is reverse
sex_data$SexDesNum = 5 - as.numeric(sex_data$SexualDesire)

contsmall(sex_data, sex_data$SexDesNum, "Desire", "")

Want - Only Desire

reg_just_mod_i(sex_data$want, sex_data, sex_data$SexDesNum, "Desire")
Estimate Std. Error t_value p_value
Intercept 18.647156 0.4734482 39.386 0
Married: True -4.002852 0.3503039 -11.427 0
Desire 4.876286 0.1940516 25.129 0

Want – Full Controls

reg_full_control(sex_data$want, sex_data, sex_data$SexDesNum, "Desire")
Estimate Std. Error t_value p_value
Intercept 24.4420191 0.6294354 38.832 0
Married: True -1.9573497 0.3749207 -5.221 0
Desire 4.1776388 0.1948553 21.44 0
Age (years) -0.1403201 0.0105117 -13.349 0
Duration -0.0094075 0.0049039 -1.918 0.0552
Male 2.3952621 0.3449966 6.943 0

Like - Only Desire

reg_just_mod_i(sex_data$totlike, sex_data, sex_data$SexDesNum,"Desire")
Estimate Std. Error t_value p_value
Intercept 30.602984 0.5645460 54.208 0
Married: True -2.864904 0.4165267 -6.878 0
Desire 3.742157 0.2313409 16.176 0

Like – Full Controls

reg_full_control(sex_data$totlike,sex_data, sex_data$SexDesNum, "Desire")
Estimate Std. Error t_value p_value
Intercept 32.3017405 0.7817763 41.318 0
Married: True -2.2376063 0.4627385 -4.836 0
Desire 3.5873083 0.2422867 14.806 0
Age (years) -0.0394997 0.0129927 -3.04 0.0024
Duration -0.0034131 0.0059663 -0.572 0.5673
Male 0.3066047 0.4284108 0.716 0.4743

Frequency - Only Desire

reg_just_mod_i(sex_data$freq_num, sex_data, sex_data$SexDesNum, "Desire")
Estimate Std. Error t_value p_value
Intercept 2.6049192 0.0867832 30.016 0
Married: True -0.6116625 0.0644030 -9.497 0
Desire 0.5116272 0.0361937 14.136 0

Frequency – Full Controls

reg_full_control(sex_data$freq_num, sex_data, sex_data$SexDesNum, "Desire")
Estimate Std. Error t_value p_value
Intercept 3.7782237 0.1147580 32.923 0
Married: True -0.1557964 0.0687353 -2.267 0.0235
Desire 0.4545019 0.0359141 12.655 0
Age (years) -0.0268896 0.0019727 -13.631 0
Duration -0.0016330 0.0011773 -1.387 0.1655
Male -0.0269566 0.0625570 -0.431 0.6666

Enjoyment Has A Strong Effect, But Doesn’t Interact Strongly With Marriage

Graphs

# (5 - desire )because scale is reverse
sex_data$SexEnjoyNum = 5 - as.numeric(sex_data$EnjoySex)

contsmall(sex_data, sex_data$SexEnjoyNum, "Enjoyment", "")

Want - Only Enjoyment

reg_just_mod_i(sex_data$want, sex_data, sex_data$SexEnjoyNum, "Enjoyment")
Estimate Std. Error t_value p_value
Intercept 16.192875 0.4906732 33.001 0
Married: True -3.940167 0.3367836 -11.699 0
Enjoyment 4.935075 0.1679286 29.388 0

Want – Full Controls

reg_full_control(sex_data$want, sex_data, sex_data$SexEnjoyNum, "Enjoyment")
Estimate Std. Error t_value p_value
Intercept 22.0290395 0.6105196 36.082 0
Married: True -1.7136855 0.3574128 -4.795 0
Enjoyment 4.4609243 0.1633201 27.314 0
Age (years) -0.1486891 0.0098929 -15.03 0
Duration -0.0093570 0.0046705 -2.003 0.0452
Male 2.5321332 0.3237855 7.82 0

Like - Only Enjoyment

reg_just_mod_i(sex_data$totlike, sex_data, sex_data$SexEnjoyNum,"Enjoyment")
Estimate Std. Error t_value p_value
Intercept 26.529810 0.5739821 46.221 0
Married: True -2.566266 0.3924580 -6.539 0
Enjoyment 4.670185 0.1962675 23.795 0

Like – Full Controls

reg_full_control(sex_data$totlike,sex_data, sex_data$SexEnjoyNum, "Enjoyment")
Estimate Std. Error t_value p_value
Intercept 28.2380293 0.7503679 37.632 0
Married: True -1.8756361 0.4368953 -4.293 0
Enjoyment 4.5887135 0.2008934 22.842 0
Age (years) -0.0408328 0.0121019 -3.374 8e-04
Duration -0.0036877 0.0056276 -0.655 0.5124
Male 0.1451025 0.3978127 0.365 0.7153

Frequency - Only Enjoyment

reg_just_mod_i(sex_data$freq_num, sex_data, sex_data$SexEnjoyNum, "Enjoyment")
Estimate Std. Error t_value p_value
Intercept 2.4514043 0.0928991 26.388 0
Married: True -0.6100057 0.0641409 -9.51 0
Enjoyment 0.4749193 0.0322321 14.734 0

Frequency – Full Controls

reg_full_control(sex_data$freq_num, sex_data, sex_data$SexEnjoyNum, "Enjoyment")
Estimate Std. Error t_value p_value
Intercept 3.6381487 0.1157157 31.44 0
Married: True -0.1388800 0.0682496 -2.035 0.042
Enjoyment 0.4408183 0.0312785 14.093 0
Age (years) -0.0283410 0.0019380 -14.624 0
Duration -0.0011378 0.0011684 -0.974 0.3303
Male 0.0018551 0.0611802 0.03 0.9758

Masturbation Orgasm Enjoyment Has A Positive Effect, But Doesn’t Account For Marriage Effect

Graphs

# (5 - desire )because scale is reverse
sex_data$MastOrgNum= as.numeric(sex_data$MasturbationOrgasm)

contsmall(sex_data, sex_data$MastOrgNum, "Masturbation Orgasm Satisfaction", "")

Want - Only Masturbation Enjoyment

reg_just_mod_i(sex_data$want, sex_data, sex_data$MastOrgNum, "Masturbation Orgasm Satisfaction")
Estimate Std. Error t_value p_value
Intercept 23.8541722 0.9152326 26.064 0
Married: True -4.8092933 0.4590795 -10.476 0
Masturbation Orgasm Satisfaction 0.8482631 0.1280314 6.625 0

Want – Full Controls

reg_full_control(sex_data$want, sex_data, sex_data$MastOrgNum, "Masturbation Orgasm Satisfaction")
Estimate Std. Error t_value p_value
Intercept 28.4886412 1.0772789 26.445 0
Married: True -2.6059747 0.4896120 -5.323 0
Masturbation Orgasm Satisfaction 0.7978845 0.1244737 6.41 0
Age (years) -0.1554759 0.0138270 -11.244 0
Duration -0.0135746 0.0072982 -1.86 0.0631
Male 3.4221777 0.4625076 7.399 0

Like - Only Masturbation ENjoyment

reg_just_mod_i(sex_data$totlike, sex_data, sex_data$MastOrgNum,"Masturbation Orgasm Satisfaction")
Estimate Std. Error t_value p_value
Intercept 35.6800127 1.0323338 34.562 0
Married: True -4.2784736 0.5158773 -8.294 0
Masturbation Orgasm Satisfaction 0.4251481 0.1446775 2.939 0.0034

Like – Full Controls

reg_full_control(sex_data$totlike,sex_data, sex_data$MastOrgNum, "Masturbation Orgasm Satisfaction")
Estimate Std. Error t_value p_value
Intercept 38.0353428 1.2616197 30.148 0
Married: True -3.2172197 0.5733830 -5.611 0
Masturbation Orgasm Satisfaction 0.3846776 0.1466499 2.623 0.0088
Age (years) -0.0692634 0.0161885 -4.279 0
Duration -0.0086168 0.0084393 -1.021 0.3074
Male 1.1528404 0.5420863 2.127 0.0336

Frequency - Only Masturbation Enjoyment

reg_just_mod_i(sex_data$freq_num, sex_data, sex_data$MastOrgNum, "Masturbation Orgasm Satisfaction")
Estimate Std. Error t_value p_value
Intercept 2.9017329 0.1538718 18.858 0
Married: True -0.7302272 0.0781658 -9.342 0
Masturbation Orgasm Satisfaction 0.1142339 0.0216544 5.275 0

Frequency – Full Controls

reg_full_control(sex_data$freq_num, sex_data, sex_data$MastOrgNum, "Masturbation Orgasm Satisfaction")
Estimate Std. Error t_value p_value
Intercept 3.9566666 0.1820058 21.739 0
Married: True -0.1213259 0.0906225 -1.339 0.1809
Masturbation Orgasm Satisfaction 0.0823007 0.0207977 3.957 1e-04
Age (years) -0.0220462 0.0028197 -7.819 0
Duration -0.0157764 0.0035621 -4.429 0
Male 0.1670280 0.0779068 2.144 0.0322

Orgasm Frequency Doesn’t Interact Strongly With Marriage

Graphs

# (5 - desire )because scale is reverse
sex_data$OrgFreqNum= as.numeric(sex_data$orgasm)

contsmall(sex_data, sex_data$OrgFreqNum, "Orgasm Frequency", "")

Want - Only Orgasm Frequency

reg_just_mod_i(sex_data$want, sex_data, sex_data$OrgFreqNum, "Orgasm Frequency")
Estimate Std. Error t_value p_value
Intercept 17.160239 0.3995932 42.944 0
Married: True -4.542637 0.2520150 -18.025 0
Orgasm Frequency 3.033123 0.0873044 34.742 0

Want – Full Controls

reg_full_control(sex_data$want, sex_data, sex_data$OrgFreqNum, "Orgasm Frequency")
Estimate Std. Error t_value p_value
Intercept 23.3990326 0.4763179 49.125 0
Married: True -2.3569892 0.2610402 -9.029 0
Orgasm Frequency 2.6540077 0.0882931 30.059 0
Age (years) -0.1497854 0.0073795 -20.297 0
Duration -0.0133419 0.0045783 -2.914 0.0036
Male 2.1070190 0.2384758 8.835 0

Like - Only Orgasm Frequency

reg_just_mod_i(sex_data$totlike, sex_data, sex_data$OrgFreqNum,"Orgasm Frequency")
Estimate Std. Error t_value p_value
Intercept 24.417086 0.4463002 54.71 0
Married: True -3.416966 0.2788408 -12.254 0
Orgasm Frequency 3.617943 0.0975657 37.082 0

Like – Full Controls

reg_full_control(sex_data$totlike,sex_data, sex_data$OrgFreqNum, "Orgasm Frequency")
Estimate Std. Error t_value p_value
Intercept 26.4151109 0.5520139 47.852 0
Married: True -2.5421131 0.3007581 -8.452 0
Orgasm Frequency 3.7727030 0.1029708 36.639 0
Age (years) -0.0478062 0.0085128 -5.616 0
Duration -0.0062815 0.0051968 -1.209 0.2268
Male -1.5583933 0.2761368 -5.644 0

Frequency - Only Orgasm Frequency

reg_just_mod_i(sex_data$freq_num, sex_data, sex_data$OrgFreqNum, "Orgasm Frequency")
Estimate Std. Error t_value p_value
Intercept 2.5688061 0.0729298 35.223 0
Married: True -0.6122975 0.0467211 -13.105 0
Orgasm Frequency 0.2854054 0.0158894 17.962 0

Frequency – Full Controls

reg_full_control(sex_data$freq_num, sex_data, sex_data$OrgFreqNum, "Orgasm Frequency")
Estimate Std. Error t_value p_value
Intercept 3.8686373 0.0871396 44.396 0
Married: True -0.1426012 0.0476117 -2.995 0.0028
Orgasm Frequency 0.2608895 0.0158124 16.499 0
Age (years) -0.0304286 0.0014041 -21.672 0
Duration -0.0029655 0.0010478 -2.83 0.0047
Male -0.0109262 0.0429835 -0.254 0.7994

Controlling For Orgasm Satifaction Reduces the MarriedXAge Effect On Like

Graphs

# (5 - desire )because scale is reverse
sex_data$OSatisNum= as.numeric(sex_data$o_satis)

contsmall(sex_data, sex_data$OSatisNum, "Orgasm Satisfaction", "")

Want - Only Orgasm Satisfaction

reg_just_mod_i(sex_data$want, sex_data, sex_data$OSatisNum, "Orgasm Satisfaction")
Estimate Std. Error t_value p_value
Intercept 12.447766 0.5226481 23.817 0
Married: True -4.221283 0.2530234 -16.683 0
Orgasm Satisfaction 2.058860 0.0596488 34.516 0

Want – Full Controls

reg_full_control(sex_data$want, sex_data, sex_data$OSatisNum, "Orgasm Satisfaction")
Estimate Std. Error t_value p_value
Intercept 18.1304975 0.5731339 31.634 0
Married: True -2.0897140 0.2572007 -8.125 0
Orgasm Satisfaction 1.8528570 0.0561864 32.977 0
Age (years) -0.1528182 0.0072466 -21.088 0
Duration -0.0136211 0.0045070 -3.022 0.0025
Male 3.8784567 0.2217693 17.489 0

Like - Only Desire

reg_just_mod_i(sex_data$totlike, sex_data, sex_data$OSatisNum,"Orgasm Satisfaction")
Estimate Std. Error t_value p_value
Intercept 16.632359 0.5719960 29.078 0
Married: True -2.939208 0.2715586 -10.823 0
Orgasm Satisfaction 2.724751 0.0653649 41.685 0

Like – Full Controls

reg_full_control(sex_data$totlike,sex_data, sex_data$OSatisNum, "Orgasm Satisfaction")
Estimate Std. Error t_value p_value
Intercept 18.6726570 0.6644204 28.104 0
Married: True -2.1766104 0.2936740 -7.412 0
Orgasm Satisfaction 2.6606840 0.0655776 40.573 0
Age (years) -0.0510101 0.0082883 -6.154 0
Duration -0.0070540 0.0050697 -1.391 0.1642
Male 0.9469191 0.2542443 3.724 2e-04

Frequency - Only Desire

reg_just_mod_i(sex_data$freq_num, sex_data, sex_data$OSatisNum, "Orgasm Satisfaction")
Estimate Std. Error t_value p_value
Intercept 1.7723861 0.0933139 18.994 0
Married: True -0.5637650 0.0460243 -12.249 0
Orgasm Satisfaction 0.2378468 0.0106365 22.361 0

Frequency – Full Controls

reg_full_control(sex_data$freq_num, sex_data, sex_data$OSatisNum, "Orgasm Satisfaction")
Estimate Std. Error t_value p_value
Intercept 3.1499045 0.1035681 30.414 0
Married: True -0.1140092 0.0469062 -2.431 0.0151
Orgasm Satisfaction 0.2067647 0.0100109 20.654 0
Age (years) -0.0306168 0.0013778 -22.221 0
Duration -0.0026494 0.0010319 -2.568 0.0103
Male 0.1580627 0.0398160 3.97 1e-04

Desire In First 6 Months Doesn’t Account For Marriage Effect

Graphs

# (5 - desire )because scale is reverse
sex_data$Desire6mNum= as.numeric(sex_data$Desire6m)

contsmall(sex_data, sex_data$Desire6mNum, "Desire In First 6 Months", "")

Want - Only Desire First 6 months

reg_just_mod_i(sex_data$want, sex_data, sex_data$Desire6mNum, "Desire In First 6 Months")
Estimate Std. Error t_value p_value
Intercept 17.096119 0.9031557 18.929 0
Married: True -5.687971 0.3783083 -15.035 0
Desire In First 6 Months 1.456562 0.1104948 13.182 0

Want – Full Controls

reg_full_control(sex_data$want, sex_data, sex_data$Desire6mNum, "Desire In First 6 Months")
Estimate Std. Error t_value p_value
Intercept 22.7396530 0.9160375 24.824 0
Married: True -2.8815693 0.3937859 -7.318 0
Desire In First 6 Months 1.4389073 0.1024854 14.04 0
Age (years) -0.1876308 0.0108295 -17.326 0
Duration -0.0084214 0.0051484 -1.636 0.102
Male 4.1107977 0.3514142 11.698 0

Like - Only Desire First 6 Months

reg_just_mod_i(sex_data$totlike, sex_data, sex_data$Desire6mNum,"Desire In First 6 Months")
Estimate Std. Error t_value p_value
Intercept 24.642035 0.9992061 24.662 0
Married: True -4.341071 0.4175127 -10.397 0
Desire In First 6 Months 1.738176 0.1222049 14.223 0

Like – Full Controls

reg_full_control(sex_data$totlike,sex_data, sex_data$Desire6mNum, "Desire In First 6 Months")
Estimate Std. Error t_value p_value
Intercept 27.1186707 1.0813486 25.079 0
Married: True -3.1362111 0.4631881 -6.771 0
Desire In First 6 Months 1.7329313 0.1210803 14.312 0
Age (years) -0.0819798 0.0127377 -6.436 0
Duration -0.0033131 0.0059839 -0.554 0.5799
Male 1.7048559 0.4145947 4.112 0

Frequency - Only Desire First 6 Months

reg_just_mod_i(sex_data$freq_num, sex_data, sex_data$Desire6mNum, "Desire In First 6 Months")
Estimate Std. Error t_value p_value
Intercept 2.8656564 0.1587122 18.056 0
Married: True -0.7568512 0.0667302 -11.342 0
Desire In First 6 Months 0.0949953 0.0194140 4.893 0

Frequency – Full Controls

reg_full_control(sex_data$freq_num, sex_data, sex_data$Desire6mNum, "Desire In First 6 Months")
Estimate Std. Error t_value p_value
Intercept 3.9895131 0.1657643 24.067 0
Married: True -0.2478231 0.0709576 -3.493 5e-04
Desire In First 6 Months 0.0967646 0.0183225 5.281 0
Age (years) -0.0309254 0.0020102 -15.384 0
Duration -0.0015657 0.0012095 -1.295 0.1956
Male 0.1734454 0.0627147 2.766 0.0057

Enjoyment In First 6 Months Doesn’t Account For Marriage Effect

Graphs

# (5 - desire )because scale is reverse
sex_data$Enjoy6mNum= as.numeric(sex_data$Enjoy6m)

contsmall(sex_data, sex_data$Enjoy6mNum, "Enjoyment In First 6 Months", "")

Want - Only Enjoyment First 6 Months

reg_just_mod_i(sex_data$want, sex_data, sex_data$Enjoy6mNum, "Enjoyment In First 6 Months")
Estimate Std. Error t_value p_value
Intercept 17.600876 0.8749073 20.117 0
Married: True -5.633394 0.3783057 -14.891 0
Enjoyment In First 6 Months 1.404376 0.1076104 13.051 0

Want – Full Controls

reg_full_control(sex_data$want, sex_data, sex_data$Enjoy6mNum, "Enjoyment In First 6 Months")
Estimate Std. Error t_value p_value
Intercept 22.9556805 0.8688730 26.42 0
Married: True -2.7071923 0.3916028 -6.913 0
Enjoyment In First 6 Months 1.4764366 0.0997520 14.801 0
Age (years) -0.1973365 0.0108076 -18.259 0
Duration -0.0072448 0.0051256 -1.413 0.1577
Male 4.0211451 0.3501869 11.483 0

Like - Only Enjoyment First 6 Months

reg_just_mod_i(sex_data$totlike, sex_data, sex_data$Enjoy6mNum,"Enjoyment In First 6 Months")
Estimate Std. Error t_value p_value
Intercept 22.736715 0.9547917 23.813 0
Married: True -4.342174 0.4097966 -10.596 0
Enjoyment In First 6 Months 2.000748 0.1172859 17.059 0

Like – Full Controls

reg_full_control(sex_data$totlike,sex_data, sex_data$Enjoy6mNum, "Enjoyment In First 6 Months")
Estimate Std. Error t_value p_value
Intercept 25.3985017 1.0113144 25.114 0
Married: True -2.9314170 0.4528799 -6.473 0
Enjoyment In First 6 Months 2.0512033 0.1163932 17.623 0
Age (years) -0.0965107 0.0125029 -7.719 0
Duration -0.0018641 0.0058572 -0.318 0.7503
Male 1.5307319 0.4062194 3.768 2e-04

Frequency - Only Enjoyment First 6 Months

reg_just_mod_i(sex_data$freq_num, sex_data, sex_data$Enjoy6mNum, "Enjoyment In First 6 Months")
Estimate Std. Error t_value p_value
Intercept 2.8159234 0.1531233 18.39 0
Married: True -0.7569702 0.0666090 -11.364 0
Enjoyment In First 6 Months 0.1025751 0.0188500 5.442 0

Frequency – Full Controls

reg_full_control(sex_data$freq_num, sex_data, sex_data$Enjoy6mNum, "Enjoyment In First 6 Months")
Estimate Std. Error t_value p_value
Intercept 3.8244912 0.1562899 24.471 0
Married: True -0.2403842 0.0705246 -3.409 7e-04
Enjoyment In First 6 Months 0.1249421 0.0178052 7.017 0
Age (years) -0.0319008 0.0020045 -15.914 0
Duration -0.0013633 0.0012035 -1.133 0.2574
Male 0.1616137 0.0624611 2.587 0.0097

Being Turned On Before Sex Accounts For Much Of The Sex Effect

Graphs

# (5 - desire )because scale is reverse
sex_data$satis4num= as.numeric(sex_data$satis4)

contsmall(sex_data, sex_data$satis4num, "Turned On Before Physical Contact", "")

Want - Only Pre-Contact Turned On

reg_just_mod_i(sex_data$want, sex_data, sex_data$satis4num, "Turned On Before Physical Contact")
Estimate Std. Error t_value p_value
Intercept 11.326382 0.3217530 35.202 0
Married: True -2.452879 0.2101014 -11.675 0
Turned On Before Physical Contact 4.926905 0.0757538 65.038 0

Want – Full Controls

reg_full_control(sex_data$want, sex_data, sex_data$satis4num, "Turned On Before Physical Contact")
Estimate Std. Error t_value p_value
Intercept 15.9229435 0.4036400 39.448 0
Married: True -1.0129108 0.2175881 -4.655 0
Turned On Before Physical Contact 4.5599432 0.0756962 60.24 0
Age (years) -0.1061855 0.0061907 -17.153 0
Duration -0.0132336 0.0037664 -3.514 4e-04
Male 1.7464225 0.1921945 9.087 0

Like - Only Pre-Contact Turned On

reg_just_mod_i(sex_data$totlike, sex_data, sex_data$satis4num,"Turned On Before Physical Contact")
Estimate Std. Error t_value p_value
Intercept 18.985722 0.3599119 52.751 0
Married: True -1.286820 0.2343162 -5.492 0
Turned On Before Physical Contact 5.449207 0.0846786 64.352 0

Like – Full Controls

reg_full_control(sex_data$totlike,sex_data, sex_data$satis4num, "Turned On Before Physical Contact")
Estimate Std. Error t_value p_value
Intercept 19.4283996 0.4669062 41.611 0
Married: True -1.0122283 0.2517480 -4.021 1e-04
Turned On Before Physical Contact 5.5485125 0.0877020 63.265 0
Age (years) -0.0017742 0.0071579 -0.248 0.8042
Duration -0.0070453 0.0043255 -1.629 0.1034
Male -1.4392747 0.2223679 -6.472 0

Frequency - Only Pre-Contact Turned On

reg_just_mod_i(sex_data$freq_num, sex_data, sex_data$satis4num, "Turned On Before Physical Contact")
Estimate Std. Error t_value p_value
Intercept 2.0818769 0.0685215 30.383 0
Married: True -0.4210280 0.0453740 -9.279 0
Turned On Before Physical Contact 0.4531715 0.0162371 27.91 0

Frequency – Full Controls

reg_full_control(sex_data$freq_num, sex_data, sex_data$satis4num, "Turned On Before Physical Contact")
Estimate Std. Error t_value p_value
Intercept 3.3456015 0.0852527 39.243 0
Married: True -0.0338006 0.0462491 -0.731 0.4649
Turned On Before Physical Contact 0.4017724 0.0158974 25.273 0
Age (years) -0.0272295 0.0013663 -19.929 0
Duration -0.0022821 0.0010075 -2.265 0.0235
Male -0.0223819 0.0403171 -0.555 0.5788

Comfort Discussing Doesn’t Change The Sex Effect

Graphs

# (5 - desire )because scale is reverse
sex_data$comfortnum= as.numeric(sex_data$comfort)

contsmall(sex_data, sex_data$comfortnum, "Comfort Discussing Sex", "")

Want - Only Comfort

reg_just_mod_i(sex_data$want, sex_data, sex_data$comfortnum, "Comfort Discussing Sex")
Estimate Std. Error t_value p_value
Intercept 22.038983 0.4781837 46.089 0
Married: True -4.289796 0.2850571 -15.049 0
Comfort Discussing Sex 1.263746 0.0746269 16.934 0

Want – Full Controls

reg_full_control(sex_data$want, sex_data, sex_data$comfortnum, "Comfort Discussing Sex")
Estimate Std. Error t_value p_value
Intercept 27.5253786 0.5417739 50.806 0
Married: True -2.0636434 0.2890627 -7.139 0
Comfort Discussing Sex 1.0721162 0.0701183 15.29 0
Age (years) -0.1670982 0.0081050 -20.617 0
Duration -0.0113350 0.0048903 -2.318 0.0205
Male 4.1498890 0.2500652 16.595 0

Like - Only Comfort

reg_just_mod_i(sex_data$totlike, sex_data, sex_data$comfortnum,"Comfort Discussing Sex")
Estimate Std. Error t_value p_value
Intercept 32.876552 0.5393171 60.96 0
Married: True -3.464737 0.3215002 -10.777 0
Comfort Discussing Sex 1.017450 0.0841676 12.088 0

Like – Full Controls

reg_full_control(sex_data$totlike,sex_data, sex_data$comfortnum, "Comfort Discussing Sex")
Estimate Std. Error t_value p_value
Intercept 35.5261171 0.6483568 54.794 0
Married: True -2.4036640 0.3459299 -6.948 0
Comfort Discussing Sex 0.9356042 0.0839127 11.15 0
Age (years) -0.0771634 0.0096995 -7.955 0
Duration -0.0060454 0.0058524 -1.033 0.3017
Male 1.6058617 0.2992604 5.366 0

Frequency - Only Comfort

reg_just_mod_i(sex_data$freq_num, sex_data, sex_data$comfortnum, "Comfort Discussing Sex")
Estimate Std. Error t_value p_value
Intercept 3.0165581 0.0820622 36.759 0
Married: True -0.5723779 0.0493282 -11.603 0
Comfort Discussing Sex 0.1227013 0.0128012 9.585 0

Frequency – Full Controls

reg_full_control(sex_data$freq_num, sex_data, sex_data$comfortnum, "Comfort Discussing Sex")
Estimate Std. Error t_value p_value
Intercept 4.2759821 0.0939608 45.508 0
Married: True -0.1271953 0.0501522 -2.536 0.0112
Comfort Discussing Sex 0.1009304 0.0120289 8.391 0
Age (years) -0.0315795 0.0014637 -21.575 0
Duration -0.0021007 0.0010731 -1.958 0.0503
Male 0.2034341 0.0427465 4.759 0