setwd("~/Google Drive/PhD/Projects/NS QoL survey/Data")

load("qol_cleaned_v1_Sept7.RData")

library(readr)
library(GGally)
library(ggplot2)
library(PerformanceAnalytics)
library(corrplot)
library(plyr)
library(dplyr)
library(psych)
library(Hmisc)
library(rmarkdown)
library(jmv)
library(stats)
library(rsq)
library(plotly)
library(sjPlot)
library(car)
library(tidyverse)
library(MASS)

#truncating social support variables
qol<- filter(qol, NEIGHBRS < 100)
qol<- filter(qol, FRIENDS < 100)
qol<- filter(qol, RELATVS < 100)

### Correlations
#looking at correlations of numeric variables identified as relevant to our first pass
qol.plot<- qol[,c("LIFESAT", "RELATVS", "FRIENDS", "ENV", "NEIGHBRS", "PHYSHLTH", "MNTLHLTH", "HB_EXERCISE", "POLICY_R",
                                     "AGE", "OVERALL_SOC", "TIME_ADEQ_R", "FINANCIAL_INSECURITY")]

#Calculating correlations and CIs
cor1 <- cor.mtest(qol.plot, use="pairwise.complete.obs", conf.level = 0.95)
cor1
## $p
##                [,1]          [,2]          [,3]          [,4]          [,5]
##  [1,]  0.000000e+00  1.000684e-50  3.671487e-84  0.000000e+00  5.793919e-92
##  [2,]  1.000684e-50  0.000000e+00 7.069533e-296  8.115520e-27 1.334546e-214
##  [3,]  3.671487e-84 7.069533e-296  0.000000e+00  3.697630e-39 9.082378e-270
##  [4,]  0.000000e+00  8.115520e-27  3.697630e-39  0.000000e+00 1.164020e-100
##  [5,]  5.793919e-92 1.334546e-214 9.082378e-270 1.164020e-100  0.000000e+00
##  [6,]  0.000000e+00  3.667847e-19  1.026701e-34 1.507863e-146  5.337166e-49
##  [7,]  0.000000e+00  4.702364e-35  3.896097e-57 3.748877e-317  1.100156e-70
##  [8,] 1.847924e-188  3.965434e-11  3.148131e-34  5.544733e-73  8.200064e-34
##  [9,] 1.967960e-129  1.173935e-11  4.716317e-29 1.781366e-189  8.212826e-31
## [10,] 7.269967e-127  8.143447e-01  6.013021e-08 1.539305e-145  4.564393e-10
## [11,]  0.000000e+00  5.468869e-99 7.111568e-185  0.000000e+00  0.000000e+00
## [12,]  0.000000e+00  5.533916e-10  1.593264e-27  0.000000e+00  4.990736e-26
## [13,]  0.000000e+00  4.839760e-09  2.918186e-21 2.800348e-245  7.976672e-26
##                [,6]          [,7]          [,8]          [,9]         [,10]
##  [1,]  0.000000e+00  0.000000e+00 1.847924e-188 1.967960e-129 7.269967e-127
##  [2,]  3.667847e-19  4.702364e-35  3.965434e-11  1.173935e-11  8.143447e-01
##  [3,]  1.026701e-34  3.896097e-57  3.148131e-34  4.716317e-29  6.013021e-08
##  [4,] 1.507863e-146 3.748877e-317  5.544733e-73 1.781366e-189 1.539305e-145
##  [5,]  5.337166e-49  1.100156e-70  8.200064e-34  8.212826e-31  4.564393e-10
##  [6,]  0.000000e+00  0.000000e+00  0.000000e+00  5.782106e-77  1.757129e-15
##  [7,]  0.000000e+00  0.000000e+00 4.577083e-182  9.043695e-65 2.170968e-114
##  [8,]  0.000000e+00 4.577083e-182  0.000000e+00  2.585603e-59  4.197618e-01
##  [9,]  5.782106e-77  9.043695e-65  2.585603e-59  0.000000e+00  6.726556e-20
## [10,]  1.757129e-15 2.170968e-114  4.197618e-01  6.726556e-20  0.000000e+00
## [11,] 5.280251e-191  0.000000e+00 1.335750e-131 1.186848e-312  1.679939e-67
## [12,]  2.850380e-56 1.820671e-288  9.853761e-74  1.548059e-90  0.000000e+00
## [13,] 4.796370e-124 1.827803e-235  5.312595e-59  5.440807e-89 1.124694e-281
##               [,11]         [,12]         [,13]
##  [1,]  0.000000e+00  0.000000e+00  0.000000e+00
##  [2,]  5.468869e-99  5.533916e-10  4.839760e-09
##  [3,] 7.111568e-185  1.593264e-27  2.918186e-21
##  [4,]  0.000000e+00  0.000000e+00 2.800348e-245
##  [5,]  0.000000e+00  4.990736e-26  7.976672e-26
##  [6,] 5.280251e-191  2.850380e-56 4.796370e-124
##  [7,]  0.000000e+00 1.820671e-288 1.827803e-235
##  [8,] 1.335750e-131  9.853761e-74  5.312595e-59
##  [9,] 1.186848e-312  1.548059e-90  5.440807e-89
## [10,]  1.679939e-67  0.000000e+00 1.124694e-281
## [11,]  0.000000e+00 5.122835e-240 2.518500e-199
## [12,] 5.122835e-240  0.000000e+00  0.000000e+00
## [13,] 2.518500e-199  0.000000e+00  0.000000e+00
## 
## $lowCI
##             [,1]        [,2]        [,3]        [,4]        [,5]        [,6]
##  [1,]  1.0000000  0.11969268  0.16024946  0.46611815  0.16840095  0.35188732
##  [2,]  0.1196927  1.00000000  0.31270501  0.08082155  0.26520865  0.06433815
##  [3,]  0.1602495  0.31270501  1.00000000  0.10259415  0.29837094  0.09502247
##  [4,]  0.4661182  0.08082155  0.10259415  1.00000000  0.17735531  0.21784541
##  [5,]  0.1684010  0.26520865  0.29837094  0.17735531  1.00000000  0.11718277
##  [6,]  0.3518873  0.06433815  0.09502247  0.21784541  0.11718277  1.00000000
##  [7,]  0.5319441  0.09562356  0.12832191  0.32539402  0.14510813  0.47841229
##  [8,]  0.2488773  0.04285751  0.09431740  0.14838732  0.09359986  0.43313332
##  [9,]  0.2151177  0.04705733  0.08990572  0.26375350  0.09333913  0.16132422
## [10,]  0.2010254 -0.01587923  0.03183478  0.21683153  0.03933266 -0.09118631
## [11,]  0.4218775  0.17600797  0.24656134  0.47177240  0.34169122  0.25113572
## [12,]  0.4553687  0.03931693  0.08247109  0.42565000  0.07952856  0.12801766
## [13,] -0.4339644 -0.07303107 -0.10662679 -0.32288872 -0.11628163 -0.23675589
##              [,7]        [,8]        [,9]       [,10]      [,11]       [,12]
##  [1,]  0.53194405  0.24887733  0.21511767  0.20102541  0.4218775  0.45536873
##  [2,]  0.09562356  0.04285751  0.04705733 -0.01587923  0.1760080  0.03931693
##  [3,]  0.12832191  0.09431740  0.08990572  0.03183478  0.2465613  0.08247109
##  [4,]  0.32539402  0.14838732  0.26375350  0.21683153  0.4717724  0.42565000
##  [5,]  0.14510813  0.09359986  0.09333913  0.03933266  0.3416912  0.07952856
##  [6,]  0.47841229  0.43313332  0.16132422 -0.09118631  0.2511357  0.12801766
##  [7,]  1.00000000  0.24422725  0.14623842  0.18993345  0.3325496  0.31117367
##  [8,]  0.24422725  1.00000000  0.13913090 -0.01064268  0.2060284  0.14975644
##  [9,]  0.14623842  0.13913090  1.00000000  0.06994408  0.3414783  0.17754957
## [10,]  0.18993345 -0.01064268  0.06994408  1.00000000  0.1418787  0.44583208
## [11,]  0.33254956  0.20602844  0.34147825  0.14187873  1.0000000  0.28422685
## [12,]  0.31117367  0.14975644  0.17754957  0.44583208  0.2842269  1.00000000
## [13,] -0.31674080 -0.16901208 -0.21497985 -0.34288869 -0.2947376 -0.40785580
##             [,13]
##  [1,] -0.43396435
##  [2,] -0.07303107
##  [3,] -0.10662679
##  [4,] -0.32288872
##  [5,] -0.11628163
##  [6,] -0.23675589
##  [7,] -0.31674080
##  [8,] -0.16901208
##  [9,] -0.21497985
## [10,] -0.34288869
## [11,] -0.29473763
## [12,] -0.40785580
## [13,]  1.00000000
## 
## $uppCI
##             [,1]        [,2]        [,3]       [,4]        [,5]       [,6]
##  [1,]  1.0000000  0.15515164  0.19524892  0.4939999  0.20329396  0.3831828
##  [2,]  0.1551516  1.00000000  0.34487706  0.1166702  0.29841574  0.1002123
##  [3,]  0.1952489  0.34487706  1.00000000  0.1382707  0.33087195  0.1306810
##  [4,]  0.4939999  0.11667021  0.13827068  1.0000000  0.21218333  0.2520888
##  [5,]  0.2032940  0.29841574  0.33087195  0.2121833  1.00000000  0.1526438
##  [6,]  0.3831828  0.10021226  0.13068102  0.2520888  0.15264383  1.0000000
##  [7,]  0.5573981  0.13128626  0.16367944  0.3574214  0.18027944  0.5058063
##  [8,]  0.2825525  0.07889129  0.13003000  0.1836647  0.12931825  0.4620765
##  [9,]  0.2513432  0.08513826  0.12770087  0.2990743  0.13110536  0.1983753
## [10,]  0.2354525  0.02020102  0.06782558  0.2510587  0.07529452 -0.0552537
## [11,]  0.4512815  0.21091249  0.28030620  0.4995637  0.37331738  0.2848361
## [12,]  0.4837155  0.07551994  0.11842726  0.4549866  0.11550582  0.1636107
## [13,] -0.4036558 -0.03644296 -0.07021570 -0.2895554 -0.07993688 -0.2017813
##             [,7]        [,8]        [,9]       [,10]      [,11]       [,12]
##  [1,]  0.5573981  0.28255249  0.25134316  0.23545254  0.4512815  0.48371547
##  [2,]  0.1312863  0.07889129  0.08513826  0.02020102  0.2109125  0.07551994
##  [3,]  0.1636794  0.13003000  0.12770087  0.06782558  0.2803062  0.11842726
##  [4,]  0.3574214  0.18366467  0.29907427  0.25105865  0.4995637  0.45498663
##  [5,]  0.1802794  0.12931825  0.13110536  0.07529452  0.3733174  0.11550582
##  [6,]  0.5058063  0.46207646  0.19837530 -0.05525370  0.2848361  0.16361073
##  [7,]  1.0000000  0.27796609  0.18349797  0.22451679  0.3644554  0.34364763
##  [8,]  0.2779661  1.00000000  0.17651861  0.02553086  0.2405412  0.18513650
##  [9,]  0.1834980  0.17651861  1.00000000  0.10789687  0.3749859  0.21454081
## [10,]  0.2245168  0.02553086  0.10789687  1.00000000  0.1772250  0.47446810
## [11,]  0.3644554  0.24054123  0.37498589  0.17722501  1.0000000  0.31742303
## [12,]  0.3436476  0.18513650  0.21454081  0.47446810  0.3174230  1.00000000
## [13,] -0.2832986 -0.13307582 -0.17761628 -0.31009795 -0.2607050 -0.37665648
##             [,13]
##  [1,] -0.40365577
##  [2,] -0.03644296
##  [3,] -0.07021570
##  [4,] -0.28955541
##  [5,] -0.07993688
##  [6,] -0.20178134
##  [7,] -0.28329857
##  [8,] -0.13307582
##  [9,] -0.17761628
## [10,] -0.31009795
## [11,] -0.26070496
## [12,] -0.37665648
## [13,]  1.00000000
#Correlation Matrix
corrplot(cor(qol.plot, use="pairwise.complete.obs"), method="number", type="upper",
         addCoef.col = "black", tl.col="black", tl.srt=40, p.mat = cor1$p, tl.cex = .5,
         sig.level = 0.05, insig = "blank", diag=FALSE, number.cex= 10/ncol(qol.plot))

## Descriptives
#descriptives of numeric variables
descriptives(qol, vars = vars("RELATVS", "FRIENDS", "ENV", "NEIGHBRS", "PHYSHLTH", "MNTLHLTH", "FINANCIAL_INSECURITY"), missing=TRUE, box=FALSE)
## 
##  DESCRIPTIVES
## 
##  Descriptives                                                                                                
##  ─────────────────────────────────────────────────────────────────────────────────────────────────────────── 
##               RELATVS     FRIENDS     ENV         NEIGHBRS    PHYSHLTH    MNTLHLTH    FINANCIAL_INSECURITY   
##  ─────────────────────────────────────────────────────────────────────────────────────────────────────────── 
##    N             11809       11809       11725       11809       11779       11773                   11410   
##    Missing           0           0          84           0          30          36                     399   
##    Mean       6.292531    5.029342    5.476077    4.584258    3.290093    3.542682                1.416995   
##    Median     4.000000    4.000000    6.000000    3.000000    3.000000    4.000000                1.000000   
##    Minimum    0.000000    0.000000    1.000000    0.000000    1.000000    1.000000                1.000000   
##    Maximum    96.00000    85.00000    7.000000    80.00000    5.000000    5.000000                5.000000   
##  ───────────────────────────────────────────────────────────────────────────────────────────────────────────
descriptives(qol, vars = vars("HB_EXERCISE", "POLICY_R", "AGE",  "OVERALL_SOC","TIME_ADEQ_R"), missing=TRUE, box=FALSE)
## 
##  DESCRIPTIVES
## 
##  Descriptives                                                                     
##  ──────────────────────────────────────────────────────────────────────────────── 
##               HB_EXERCISE    POLICY_R    AGE         OVERALL_SOC    TIME_ADEQ_R   
##  ──────────────────────────────────────────────────────────────────────────────── 
##    N                11747       10504       11804          11686          11647   
##    Missing             62        1305           5            123            162   
##    Mean          4.661786    4.457254    59.75479       4.805503       7.701547   
##    Median        5.000000    4.000000    62.00000       4.833333       8.363636   
##    Minimum       1.000000    1.000000    14.00000       1.000000       1.000000   
##    Maximum       7.000000    7.000000    101.0000       7.000000       10.00000   
##  ────────────────────────────────────────────────────────────────────────────────
#OLS Regression model to do diagnostics
summary(ols <- lm(LIFESAT ~ RELATVS + FRIENDS + ENV + NEIGHBRS +  PHYSHLTH + MNTLHLTH + FINANCIAL_INSECURITY + HB_EXERCISE 
                                    + POLICY_R + AGE + OVERALL_SOC + TIME_ADEQ_R + TIME_CAN, data = qol))
## 
## Call:
## lm(formula = LIFESAT ~ RELATVS + FRIENDS + ENV + NEIGHBRS + PHYSHLTH + 
##     MNTLHLTH + FINANCIAL_INSECURITY + HB_EXERCISE + POLICY_R + 
##     AGE + OVERALL_SOC + TIME_ADEQ_R + TIME_CAN, data = qol)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -9.0369 -0.7181  0.1246  0.9131  6.4653 
## 
## Coefficients:
##                       Estimate Std. Error t value Pr(>|t|)    
## (Intercept)           1.224955   0.183303   6.683 2.48e-11 ***
## RELATVS               0.007155   0.002118   3.379 0.000731 ***
## FRIENDS               0.011465   0.002902   3.950 7.86e-05 ***
## ENV                   0.272883   0.014539  18.769  < 2e-16 ***
## NEIGHBRS             -0.001464   0.003065  -0.478 0.632927    
## PHYSHLTH              0.115706   0.020150   5.742 9.62e-09 ***
## MNTLHLTH              0.647247   0.020134  32.147  < 2e-16 ***
## FINANCIAL_INSECURITY -0.394340   0.021595 -18.261  < 2e-16 ***
## HB_EXERCISE           0.065969   0.010686   6.174 6.95e-10 ***
## POLICY_R              0.016724   0.013177   1.269 0.204416    
## AGE                  -0.007865   0.001281  -6.138 8.69e-10 ***
## OVERALL_SOC           0.273265   0.021785  12.544  < 2e-16 ***
## TIME_ADEQ_R           0.189212   0.008227  23.000  < 2e-16 ***
## TIME_CAN              0.351690   0.120362   2.922 0.003487 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.455 on 9677 degrees of freedom
##   (2118 observations deleted due to missingness)
## Multiple R-squared:  0.4943, Adjusted R-squared:  0.4937 
## F-statistic: 727.7 on 13 and 9677 DF,  p-value: < 2.2e-16
# need help with next steps (e.g., cooks distance)

write.csv(qol, file = "qol_cleaned_v1_sept8")

save.image(file="qol_cleaned_v1_Sept8.RData")