path_analysis
                This is an old revision of the document!
Table of Contents
Path Analysis
Planned Behavior Modeling
######################################################
## data file: PlannedBehavior.csv
######################################################
df <- read.csv("http://commres.net/wiki/_media/r/plannedbehavior.csv")
head(df)
str(df)
######################################################
# attitude
# norms
# control
# intention
# behavior
######################################################
# install.packages("lavaan")
library(lavaan)
# Specify model
specmod <- "
intention ~ attitude + norms + control 
"
# Estimate model
fitmod <- sem(specmod, data=df)
# Summarize model
summary(fitmod, fit.measures=TRUE, rsquare=TRUE)
Output
######################################################
> ## data file: PlannedBehavior.csv
> ######################################################
> df <- read.csv("http://commres.net/wiki/_media/r/plannedbehavior.csv")
> head(df)
  attitude norms control intention behavior
1     2.31  2.31    2.03      2.50     2.62
2     4.66  4.01    3.63      3.99     3.64
3     3.85  3.56    4.20      4.35     3.83
4     4.24  2.25    2.84      1.51     2.25
5     2.91  3.31    2.40      1.45     2.00
6     2.99  2.51    2.95      2.59     2.20
> str(df)
'data.frame':	199 obs. of  5 variables:
 $ attitude : num  2.31 4.66 3.85 4.24 2.91 2.99 3.96 3.01 4.77 3.67 ...
 $ norms    : num  2.31 4.01 3.56 2.25 3.31 2.51 4.65 2.98 3.09 3.63 ...
 $ control  : num  2.03 3.63 4.2 2.84 2.4 2.95 3.77 1.9 3.83 5 ...
 $ intention: num  2.5 3.99 4.35 1.51 1.45 2.59 4.08 2.58 4.87 3.09 ...
 $ behavior : num  2.62 3.64 3.83 2.25 2 2.2 4.41 4.15 4.35 3.95 ...
> ######################################################
> # attitude
> # norms
> # control
> # intention
> # behavior
> ######################################################
> # install.packages("lavaan")
> library(lavaan)
This is lavaan 0.6-9
lavaan is FREE software! Please report any bugs.
Warning message:
패키지 ‘lavaan’는 R 버전 4.1.2에서 작성되었습니다 
> 
> # Specify model
> specmod <- "
+ intention ~ attitude + norms + control 
+ "
> # Estimate model
> fitmod <- sem(specmod, data=df)
> 
> # Summarize model
> summary(fitmod, fit.measures=TRUE, rsquare=TRUE)
lavaan 0.6-9 ended normally after 11 iterations
  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                         4
                                                      
  Number of observations                           199
                                                      
Model Test User Model:
                                                      
  Test statistic                                 0.000
  Degrees of freedom                                 0
Model Test Baseline Model:
  Test statistic                                91.633
  Degrees of freedom                                 3
  P-value                                        0.000
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)               -219.244
  Loglikelihood unrestricted model (H1)       -219.244
                                                      
  Akaike (AIC)                                 446.489
  Bayesian (BIC)                               459.662
  Sample-size adjusted Bayesian (BIC)          446.990
Root Mean Square Error of Approximation:
  RMSEA                                          0.000
  90 Percent confidence interval - lower         0.000
  90 Percent confidence interval - upper         0.000
  P-value RMSEA <= 0.05                             NA
Standardized Root Mean Square Residual:
  SRMR                                           0.000
Parameter Estimates:
  Standard errors                             Standard
  Information                                 Expected
  Information saturated (h1) model          Structured
Regressions:
                   Estimate  Std.Err  z-value  P(>|z|)
  intention ~                                         
    attitude          0.352    0.058    6.068    0.000
    norms             0.153    0.059    2.577    0.010
    control           0.275    0.058    4.740    0.000
Variances:
                   Estimate  Std.Err  z-value  P(>|z|)
   .intention         0.530    0.053    9.975    0.000
R-Square:
                   Estimate
    intention         0.369
Model 2
# Specify model specmod2 <- " intention ~ attitude + norms + control attitude ~~ norms + control norms ~~ control " # Estimate model fitmod2 <- sem(specmod2, data=df) # Summarize model summary(fitmod2, fit.measures=TRUE, rsquare=TRUE)
fitmod <- lm(intention ~ attitude + norms + control, data=df) summary(fitmod)
 
> # Specify model
> specmod2 <- "
+ intention ~ attitude + norms + control 
+ attitude ~~ norms + control
+ norms ~~ control 
+ "
> # Estimate model
> fitmod2 <- sem(specmod2, data=df)
> 
> # Summarize model
> summary(fitmod2, fit.measures=TRUE, rsquare=TRUE)
lavaan 0.6-9 ended normally after 17 iterations
  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                        10
                                                      
  Number of observations                           199
                                                      
Model Test User Model:
                                                      
  Test statistic                                 0.000
  Degrees of freedom                                 0
Model Test Baseline Model:
  Test statistic                               136.306
  Degrees of freedom                                 6
  P-value                                        0.000
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)              -1011.828
  Loglikelihood unrestricted model (H1)      -1011.828
                                                      
  Akaike (AIC)                                2043.656
  Bayesian (BIC)                              2076.589
  Sample-size adjusted Bayesian (BIC)         2044.908
Root Mean Square Error of Approximation:
  RMSEA                                          0.000
  90 Percent confidence interval - lower         0.000
  90 Percent confidence interval - upper         0.000
  P-value RMSEA <= 0.05                             NA
Standardized Root Mean Square Residual:
  SRMR                                           0.000
Parameter Estimates:
  Standard errors                             Standard
  Information                                 Expected
  Information saturated (h1) model          Structured
Regressions:
                   Estimate  Std.Err  z-value  P(>|z|)
  intention ~                                         
    attitude          0.352    0.058    6.068    0.000
    norms             0.153    0.059    2.577    0.010
    control           0.275    0.058    4.740    0.000
Covariances:
                   Estimate  Std.Err  z-value  P(>|z|)
  attitude ~~                                         
    norms             0.200    0.064    3.128    0.002
    control           0.334    0.070    4.748    0.000
  norms ~~                                            
    control           0.220    0.065    3.411    0.001
Variances:
                   Estimate  Std.Err  z-value  P(>|z|)
   .intention         0.530    0.053    9.975    0.000
    attitude          0.928    0.093    9.975    0.000
    norms             0.830    0.083    9.975    0.000
    control           0.939    0.094    9.975    0.000
R-Square:
                   Estimate
    intention         0.369
> 
> fitmod <- lm(intention ~ attitude + norms + control, data=df)
> summary(fitmod)
Call:
lm(formula = intention ~ attitude + norms + control, data = df)
Residuals:
     Min       1Q   Median       3Q      Max 
-1.80282 -0.52734 -0.06018  0.51228  1.85202 
Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  0.58579    0.23963   2.445   0.0154 *  
attitude     0.35232    0.05866   6.006 9.13e-09 ***
norms        0.15250    0.05979   2.550   0.0115 *  
control      0.27502    0.05862   4.692 5.09e-06 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.7356 on 195 degrees of freedom
Multiple R-squared:  0.369,	Adjusted R-squared:  0.3593 
F-statistic: 38.01 on 3 and 195 DF,  p-value: < 2.2e-16
> 
Model 3
# Specify model specmod3 <- " # directional relationships intention ~ attitude + norms + control behavior ~ intention # covariances attitude ~~ norms + control norms ~~ control " # Estimate model fitmod3 <- sem(specmod3, data=df) # Summarize model summary(fitmod3, fit.measures=TRUE, rsquare=TRUE)
path_analysis.1667997180.txt.gz · Last modified:  by hkimscil
                
                