linear regression

library(car)
x <-filter(reac, action == "reac.videomean")
pairs.panels(subset(x, select =c(d.mb, d.int,d.pbc)))

pairs.panels(subset(x, select =c(pre.mb, pre.int,pre.pbc)))

corPlot(subset(x, select= c(pre.mb, pre.int, pre.pbc)),numbers=T)

m1<- lm(rmssd ~ d.pbc+d.mb+d.int, data = filter(reac,action=="reac.videomean"))
summary(m1)
## 
## Call:
## lm(formula = rmssd ~ d.pbc + d.mb + d.int, data = filter(reac, 
##     action == "reac.videomean"))
## 
## Residuals:
##        Min         1Q     Median         3Q        Max 
## -0.0237623 -0.0030658  0.0007267  0.0023258  0.0105601 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)   
## (Intercept) -0.0036279  0.0012616  -2.876  0.00609 **
## d.pbc        0.0030727  0.0012364   2.485  0.01665 * 
## d.mb         0.0014290  0.0011470   1.246  0.21915   
## d.int       -0.0009157  0.0020147  -0.455  0.65159   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.005759 on 46 degrees of freedom
## Multiple R-squared:  0.1816, Adjusted R-squared:  0.1282 
## F-statistic: 3.403 on 3 and 46 DF,  p-value: 0.02536
plot(m1)

vif(m1)
##    d.pbc     d.mb    d.int 
## 1.077635 1.095654 1.036525
m2<- lm(rmssd ~ pre.pbc+pre.mb+pre.int, data = filter(reac,action=="reac.videomean"))
summary(m2)
## 
## Call:
## lm(formula = rmssd ~ pre.pbc + pre.mb + pre.int, data = filter(reac, 
##     action == "reac.videomean"))
## 
## Residuals:
##        Min         1Q     Median         3Q        Max 
## -0.0261912 -0.0030077  0.0004485  0.0024142  0.0128949 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)
## (Intercept)  2.441e-04  5.676e-03   0.043    0.966
## pre.pbc     -1.058e-03  1.013e-03  -1.045    0.302
## pre.mb       1.454e-05  1.108e-03   0.013    0.990
## pre.int      3.892e-03  2.359e-03   1.650    0.106
## 
## Residual standard error: 0.006159 on 46 degrees of freedom
## Multiple R-squared:  0.06408,    Adjusted R-squared:  0.003045 
## F-statistic:  1.05 on 3 and 46 DF,  p-value: 0.3796
plot(m2)

vif(m2)
##  pre.pbc   pre.mb  pre.int 
## 1.399714 1.191944 1.269641

HR

# y = hr
# x = reduction intention
# m1 = moral beliefs
# m2 = perceived behavioral control
model <- '
# outcome model 
hr ~ c*d.pbc + b1*d.int + b2*d.mb

# mediator models
d.int ~ a1*d.pbc 
d.mb ~ a2*d.pbc

# indirect effects (IDE)
d.intIDE  := a1*b1
d.mbIDE  := a2*b2
sumIDE := (a1*b1) + (a2*b2)

# total effect
total := c + (a1*b1) + (a2*b2)
d.int ~~ d.mb # model correlation between mediators
'
fit <- sem(model, data=x)
summary(fit, fit.measures=TRUE, standardize=TRUE, rsquare=TRUE)
## lavaan (0.5-23.1097) converged normally after  30 iterations
## 
##   Number of observations                            50
## 
##   Estimator                                         ML
##   Minimum Function Test Statistic                0.000
##   Degrees of freedom                                 0
##   Minimum Function Value               0.0000000000000
## 
## Model test baseline model:
## 
##   Minimum Function Test Statistic                5.905
##   Degrees of freedom                                 6
##   P-value                                        0.434
## 
## User model versus baseline model:
## 
##   Comparative Fit Index (CFI)                    0.000
##   Tucker-Lewis Index (TLI)                       1.000
## 
## Loglikelihood and Information Criteria:
## 
##   Loglikelihood user model (H0)               -245.308
##   Loglikelihood unrestricted model (H1)       -245.308
## 
##   Number of free parameters                          9
##   Akaike (AIC)                                 508.615
##   Bayesian (BIC)                               525.824
##   Sample-size adjusted Bayesian (BIC)          497.574
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.000
##   90 Percent Confidence Interval          0.000  0.000
##   P-value RMSEA <= 0.05                             NA
## 
## Standardized Root Mean Square Residual:
## 
##   SRMR                                           0.000
## 
## Parameter Estimates:
## 
##   Information                                 Expected
##   Standard Errors                             Standard
## 
## Regressions:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   hr ~                                                                  
##     d.pbc      (c)   -0.235    0.499   -0.470    0.638   -0.235   -0.068
##     d.int     (b1)    0.508    0.813    0.624    0.532    0.508    0.089
##     d.mb      (b2)   -0.223    0.463   -0.481    0.630   -0.223   -0.071
##   d.int ~                                                               
##     d.pbc     (a1)    0.045    0.085    0.534    0.593    0.045    0.075
##   d.mb ~                                                                
##     d.pbc     (a2)    0.265    0.149    1.776    0.076    0.265    0.244
## 
## Covariances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##  .d.int ~~                                                              
##    .d.mb             -0.051    0.042   -1.202    0.230   -0.051   -0.172
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .hr                5.403    1.081    5.000    0.000    5.403    0.979
##    .d.int             0.168    0.034    5.000    0.000    0.168    0.994
##    .d.mb              0.520    0.104    5.000    0.000    0.520    0.941
## 
## R-Square:
##                    Estimate
##     hr                0.021
##     d.int             0.006
##     d.mb              0.059
## 
## Defined Parameters:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##     d.intIDE          0.023    0.057    0.406    0.685    0.023    0.007
##     d.mbIDE          -0.059    0.127   -0.465    0.642   -0.059   -0.017
##     sumIDE           -0.036    0.146   -0.246    0.806   -0.036   -0.010
##     total            -0.271    0.484   -0.559    0.576   -0.271   -0.079
boot.fit <- parameterEstimates(fit, boot.ci.type="bca.simple")
print(boot.fit)
##         lhs op               rhs    label    est    se      z pvalue
## 1        hr  ~             d.pbc        c -0.235 0.499 -0.470  0.638
## 2        hr  ~             d.int       b1  0.508 0.813  0.624  0.532
## 3        hr  ~              d.mb       b2 -0.223 0.463 -0.481  0.630
## 4     d.int  ~             d.pbc       a1  0.045 0.085  0.534  0.593
## 5      d.mb  ~             d.pbc       a2  0.265 0.149  1.776  0.076
## 6     d.int ~~              d.mb          -0.051 0.042 -1.202  0.230
## 7        hr ~~                hr           5.403 1.081  5.000  0.000
## 8     d.int ~~             d.int           0.168 0.034  5.000  0.000
## 9      d.mb ~~              d.mb           0.520 0.104  5.000  0.000
## 10    d.pbc ~~             d.pbc           0.468 0.000     NA     NA
## 11 d.intIDE :=             a1*b1 d.intIDE  0.023 0.057  0.406  0.685
## 12  d.mbIDE :=             a2*b2  d.mbIDE -0.059 0.127 -0.465  0.642
## 13   sumIDE :=   (a1*b1)+(a2*b2)   sumIDE -0.036 0.146 -0.246  0.806
## 14    total := c+(a1*b1)+(a2*b2)    total -0.271 0.484 -0.559  0.576
##    ci.lower ci.upper
## 1    -1.213    0.743
## 2    -1.086    2.101
## 3    -1.130    0.685
## 4    -0.121    0.212
## 5    -0.027    0.557
## 6    -0.134    0.032
## 7     3.285    7.521
## 8     0.102    0.234
## 9     0.316    0.723
## 10    0.468    0.468
## 11   -0.088    0.134
## 12   -0.308    0.190
## 13   -0.323    0.251
## 14   -1.220    0.679
semPaths(object = fit, what = "std", sizeMan = 10,sizeLat = 10,sizeInt = 10, edge.label.cex = 1.5)

RMSSD

# y = rmssd
# x = reduction intention
# m1 = moral beliefs
# m2 = perceived behavioral control
model <- '
# outcome model 
rmssd ~ c*d.pbc + b1*d.int + b2*d.mb

# mediator models
d.int ~ a1*d.pbc 
d.mb ~ a2*d.pbc

# indirect effects (IDE)
d.intIDE  := a1*b1
d.mbIDE  := a2*b2
sumIDE := (a1*b1) + (a2*b2)

# total effect
total := c + (a1*b1) + (a2*b2)
d.int ~~ d.mb # model correlation between mediators
'
fit <- sem(model, data=x)
## Warning in lav_data_full(data = data, group = group, cluster = cluster, :
## lavaan WARNING: some observed variances are (at least) a factor 1000 times
## larger than others; use varTable(fit) to investigate
summary(fit, fit.measures=TRUE, standardize=TRUE, rsquare=TRUE)
## lavaan (0.5-23.1097) converged normally after  39 iterations
## 
##   Number of observations                            50
## 
##   Estimator                                         ML
##   Minimum Function Test Statistic                0.000
##   Degrees of freedom                                 0
##   Minimum Function Value               0.0000000000000
## 
## Model test baseline model:
## 
##   Minimum Function Test Statistic               14.873
##   Degrees of freedom                                 6
##   P-value                                        0.021
## 
## User model versus baseline model:
## 
##   Comparative Fit Index (CFI)                    1.000
##   Tucker-Lewis Index (TLI)                       1.000
## 
## Loglikelihood and Information Criteria:
## 
##   Loglikelihood user model (H0)                 56.799
##   Loglikelihood unrestricted model (H1)         56.799
## 
##   Number of free parameters                          9
##   Akaike (AIC)                                 -95.598
##   Bayesian (BIC)                               -78.390
##   Sample-size adjusted Bayesian (BIC)         -106.640
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.000
##   90 Percent Confidence Interval          0.000  0.000
##   P-value RMSEA <= 0.05                             NA
## 
## Standardized Root Mean Square Residual:
## 
##   SRMR                                           0.000
## 
## Parameter Estimates:
## 
##   Information                                 Expected
##   Standard Errors                             Standard
## 
## Regressions:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   rmssd ~                                                               
##     d.pbc      (c)    0.003    0.001    2.591    0.010    0.003    0.344
##     d.int     (b1)   -0.001    0.002   -0.474    0.636   -0.001   -0.062
##     d.mb      (b2)    0.001    0.001    1.299    0.194    0.001    0.174
##   d.int ~                                                               
##     d.pbc     (a1)    0.045    0.085    0.534    0.593    0.045    0.075
##   d.mb ~                                                                
##     d.pbc     (a2)    0.265    0.149    1.776    0.076    0.265    0.244
## 
## Covariances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##  .d.int ~~                                                              
##    .d.mb             -0.051    0.042   -1.202    0.230   -0.051   -0.172
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .rmssd             0.000    0.000    5.000    0.000    0.000    0.818
##    .d.int             0.168    0.034    5.000    0.000    0.168    0.994
##    .d.mb              0.520    0.104    5.000    0.000    0.520    0.941
## 
## R-Square:
##                    Estimate
##     rmssd             0.182
##     d.int             0.006
##     d.mb              0.059
## 
## Defined Parameters:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##     d.intIDE         -0.000    0.000   -0.354    0.723   -0.000   -0.005
##     d.mbIDE           0.000    0.000    1.048    0.294    0.000    0.042
##     sumIDE            0.000    0.000    0.846    0.397    0.000    0.038
##     total             0.003    0.001    2.921    0.003    0.003    0.382
boot.fit <- parameterEstimates(fit, boot.ci.type="bca.simple")
print(boot.fit)
##         lhs op               rhs    label    est    se      z pvalue
## 1     rmssd  ~             d.pbc        c  0.003 0.001  2.591  0.010
## 2     rmssd  ~             d.int       b1 -0.001 0.002 -0.474  0.636
## 3     rmssd  ~              d.mb       b2  0.001 0.001  1.299  0.194
## 4     d.int  ~             d.pbc       a1  0.045 0.085  0.534  0.593
## 5      d.mb  ~             d.pbc       a2  0.265 0.149  1.776  0.076
## 6     d.int ~~              d.mb          -0.051 0.042 -1.202  0.230
## 7     rmssd ~~             rmssd           0.000 0.000  5.000  0.000
## 8     d.int ~~             d.int           0.168 0.034  5.000  0.000
## 9      d.mb ~~              d.mb           0.520 0.104  5.000  0.000
## 10    d.pbc ~~             d.pbc           0.468 0.000     NA     NA
## 11 d.intIDE :=             a1*b1 d.intIDE  0.000 0.000 -0.354  0.723
## 12  d.mbIDE :=             a2*b2  d.mbIDE  0.000 0.000  1.048  0.294
## 13   sumIDE :=   (a1*b1)+(a2*b2)   sumIDE  0.000 0.000  0.846  0.397
## 14    total := c+(a1*b1)+(a2*b2)    total  0.003 0.001  2.921  0.003
##    ci.lower ci.upper
## 1     0.001    0.005
## 2    -0.005    0.003
## 3    -0.001    0.004
## 4    -0.121    0.212
## 5    -0.027    0.557
## 6    -0.134    0.032
## 7     0.000    0.000
## 8     0.102    0.234
## 9     0.316    0.723
## 10    0.468    0.468
## 11    0.000    0.000
## 12    0.000    0.001
## 13    0.000    0.001
## 14    0.001    0.006
semPaths(object = fit, what = "std", sizeMan = 10,sizeLat = 10,sizeInt = 10, edge.label.cex = 1.5)

SDNN

# y = sdnn
# x = reduction intention
# m1 = moral beliefs
# m2 = perceived behavioral control
model <- '
# outcome model 
sdnn ~ c*d.pbc + b1*d.int + b2*d.mb

# mediator models
d.int ~ a1*d.pbc 
d.mb ~ a2*d.pbc

# indirect effects (IDE)
d.intIDE  := a1*b1
d.mbIDE  := a2*b2
sumIDE := (a1*b1) + (a2*b2)

# total effect
total := c + (a1*b1) + (a2*b2)
d.int ~~ d.mb # model correlation between mediators
'
fit <- sem(model, data=x)
## Warning in lav_data_full(data = data, group = group, cluster = cluster, :
## lavaan WARNING: some observed variances are (at least) a factor 1000 times
## larger than others; use varTable(fit) to investigate
summary(fit, fit.measures=TRUE, standardize=TRUE, rsquare=TRUE)
## lavaan (0.5-23.1097) converged normally after  32 iterations
## 
##   Number of observations                            50
## 
##   Estimator                                         ML
##   Minimum Function Test Statistic                0.000
##   Degrees of freedom                                 0
## 
## Model test baseline model:
## 
##   Minimum Function Test Statistic                9.157
##   Degrees of freedom                                 6
##   P-value                                        0.165
## 
## User model versus baseline model:
## 
##   Comparative Fit Index (CFI)                    1.000
##   Tucker-Lewis Index (TLI)                       1.000
## 
## Loglikelihood and Information Criteria:
## 
##   Loglikelihood user model (H0)                 26.306
##   Loglikelihood unrestricted model (H1)         26.306
## 
##   Number of free parameters                          9
##   Akaike (AIC)                                 -34.611
##   Bayesian (BIC)                               -17.403
##   Sample-size adjusted Bayesian (BIC)          -45.653
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.000
##   90 Percent Confidence Interval          0.000  0.000
##   P-value RMSEA <= 0.05                             NA
## 
## Standardized Root Mean Square Residual:
## 
##   SRMR                                           0.000
## 
## Parameter Estimates:
## 
##   Information                                 Expected
##   Standard Errors                             Standard
## 
## Regressions:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   sdnn ~                                                                
##     d.pbc      (c)    0.003    0.002    1.459    0.145    0.003    0.205
##     d.int     (b1)   -0.003    0.004   -0.870    0.384   -0.003   -0.120
##     d.mb      (b2)    0.002    0.002    0.828    0.408    0.002    0.117
##   d.int ~                                                               
##     d.pbc     (a1)    0.045    0.085    0.534    0.593    0.045    0.075
##   d.mb ~                                                                
##     d.pbc     (a2)    0.265    0.149    1.776    0.076    0.265    0.244
## 
## Covariances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##  .d.int ~~                                                              
##    .d.mb             -0.051    0.042   -1.202    0.230   -0.051   -0.172
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .sdnn              0.000    0.000    5.000    0.000    0.000    0.918
##    .d.int             0.168    0.034    5.000    0.000    0.168    0.994
##    .d.mb              0.520    0.104    5.000    0.000    0.520    0.941
## 
## R-Square:
##                    Estimate
##     sdnn              0.082
##     d.int             0.006
##     d.mb              0.059
## 
## Defined Parameters:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##     d.intIDE         -0.000    0.000   -0.455    0.649   -0.000   -0.009
##     d.mbIDE           0.000    0.001    0.751    0.453    0.000    0.029
##     sumIDE            0.000    0.001    0.430    0.667    0.000    0.020
##     total             0.003    0.002    1.631    0.103    0.003    0.225
boot.fit <- parameterEstimates(fit, boot.ci.type="bca.simple")
print(boot.fit)
##         lhs op               rhs    label    est    se      z pvalue
## 1      sdnn  ~             d.pbc        c  0.003 0.002  1.459  0.145
## 2      sdnn  ~             d.int       b1 -0.003 0.004 -0.870  0.384
## 3      sdnn  ~              d.mb       b2  0.002 0.002  0.828  0.408
## 4     d.int  ~             d.pbc       a1  0.045 0.085  0.534  0.593
## 5      d.mb  ~             d.pbc       a2  0.265 0.149  1.776  0.076
## 6     d.int ~~              d.mb          -0.051 0.042 -1.202  0.230
## 7      sdnn ~~              sdnn           0.000 0.000  5.000  0.000
## 8     d.int ~~             d.int           0.168 0.034  5.000  0.000
## 9      d.mb ~~              d.mb           0.520 0.104  5.000  0.000
## 10    d.pbc ~~             d.pbc           0.468 0.000     NA     NA
## 11 d.intIDE :=             a1*b1 d.intIDE  0.000 0.000 -0.455  0.649
## 12  d.mbIDE :=             a2*b2  d.mbIDE  0.000 0.001  0.751  0.453
## 13   sumIDE :=   (a1*b1)+(a2*b2)   sumIDE  0.000 0.001  0.430  0.667
## 14    total := c+(a1*b1)+(a2*b2)    total  0.003 0.002  1.631  0.103
##    ci.lower ci.upper
## 1    -0.001    0.007
## 2    -0.010    0.004
## 3    -0.002    0.006
## 4    -0.121    0.212
## 5    -0.027    0.557
## 6    -0.134    0.032
## 7     0.000    0.000
## 8     0.102    0.234
## 9     0.316    0.723
## 10    0.468    0.468
## 11   -0.001    0.000
## 12   -0.001    0.002
## 13   -0.001    0.002
## 14   -0.001    0.008
semPaths(object = fit, what = "std", sizeMan = 10,sizeLat = 10,sizeInt = 10, edge.label.cex = 1.5)