The CCAI Climate-Friendly Purchasing Choices Domain
CCAI.RdCorrelation matrix, factor pattern matrix, and factor intercorrelations for the Climate Change Action Inventory (CCAI) Climate-Friendly Purchasing Choices domain, from Bi and Barchard (2024). The scale measures the frequency with which individuals make purchasing choices aimed at reducing climate change. Data were collected from 500 United States MTurk workers. After 15 climate change deniers and 24 multivariate outliers were removed, 461 participants remained. Climate change deniers were excluded because the scale measures behaviors intended to reduce climate change — including individuals who do not believe climate change exists would be inconsistent with the measure's intent.
Usage
data(CCAI)Format
Three objects are loaded by data(CCAI):
CCAI_R: a \(14 \times 14\) numeric correlation matrix. Row and column names are item labelsCCAI1throughCCAI14, ordered by factor to matchCCAI_pattern.CCAI_pattern: a \(14 \times 3\) numeric matrix of factor pattern coefficients. Row names are item labelsCCAI1throughCCAI14, ordered by factor to facilitate interpretation. Column names are factor labelsSustainableOptions,CollectiveAction, andAvoidBuyingNew.CCAI_Phi: a \(3 \times 3\) numeric matrix of factor intercorrelations. Row and column names are the three factor labels.
Details
The CCAI Climate-Friendly Purchasing Choices domain consists of 14 items. Items used a nine-point frequency scale ranging from 1 (less than once a year) to 9 (at least 14 times a week). For full details on study design, data collection, analysis, and interpretation see Bi and Barchard (2024). The Climate Change Action Inventory contains eight domains; the Climate-Friendly Purchasing Choices domain analyzed here is one of them.
CCAI_R is the observed \(14 \times 14\) correlation
matrix for the 14 items of the Climate-Friendly Purchasing Choices
domain. The correlation matrix was kindly provided by
the authors and has not been published separately.
CCAI_pattern is a \(14 \times 3\) factor pattern
matrix from principal components extraction followed by direct
oblimin rotation, reported in Table 2 of Bi and Barchard (2024)
(the Table is labeled “Factor Structure” in the paper but contains
pattern coefficients). The three factors are:
Choosing Sustainable Options (F1), Supporting Collective Action
(F2), and Avoiding Buying New (F3).
| Item | Description | F1 | F2 | F3 |
| CCAI8 | Choose products with less impact on climate change | .95 | .00 | -.02 |
| CCAI6 | Choose products with less packaging | .91 | -.04 | .01 |
| CCAI7 | Choose products made locally | .89 | -.09 | .07 |
| CCAI11 | Encourage others to choose climate-friendly products | .56 | .40 | .05 |
| CCAI12 | Problem solve to reduce impact of purchases | .52 | .44 | .04 |
| CCAI10 | Encourage others to buy less | .41 | .44 | .12 |
| CCAI14 | Give time/money to orgs reducing purchase impact | -.01 | .97 | -.02 |
| CCAI13 | Give time/money to orgs reducing purchases | .02 | .93 | .01 |
| CCAI5 | Donate to charity rather than buying a gift | -.02 | .78 | .20 |
| CCAI2 | Use borrowed/rented/digital rather than buying | -.02 | -.18 | .90 |
| CCAI4 | Buy used rather than new | .00 | .15 | .76 |
| CCAI1 | Repair rather than buying replacements | .03 | .06 | .76 |
| CCAI3 | Use borrowed/rented tools rather than buying | .10 | .21 | .62 |
| CCAI9 | Donate or sell old possessions | .22 | .27 | .46 |
CCAI_Phi is a \(3 \times 3\) factor intercorrelation
matrix. All three intercorrelations exceed 0.50.
| F1 | F2 | F3 | |
| Choosing Sustainable Options | 1.00 | 0.59 | 0.59 |
| Supporting Collective Action | 0.59 | 1.00 | 0.53 |
| Avoiding Buying New | 0.59 | 0.53 | 1.00 |
See vignette("GPA3bifactor", package = "GPArotation") for a
bifactor analysis of these data.
Note
The raw data are publicly available on the Open Science Framework. As the data are subject to a license, users should consult the OSF page for terms of use before using the raw data directly: https://osf.io/h38yb/overview.
References
Barchard, K.A., Okagawa, K., Hoffman, C.K., and Odents, O. (2021). Climate Change Action Inventory. Unpublished psychological test. Available from [email protected].
Bi, Y. and Barchard, K.A. (2024). Purchasing choices that reduce climate change: An exploratory factor analysis. Spectra Undergraduate Research Journal, 3(2), 8–14. doi: 10.9741/2766-7227.1028.
Examples
data(CCAI, package = "GPArotation")
# Observed correlation matrix
round(CCAI_R, 2)
#> CCAI8 CCAI6 CCAI7 CCAI11 CCAI12 CCAI10 CCAI14 CCAI13 CCAI5 CCAI2 CCAI4
#> CCAI8 1.00 0.81 0.78 0.75 0.71 0.64 0.54 0.55 0.53 0.39 0.50
#> CCAI6 0.81 1.00 0.74 0.65 0.64 0.60 0.50 0.53 0.50 0.38 0.49
#> CCAI7 0.78 0.74 1.00 0.66 0.66 0.55 0.47 0.50 0.52 0.39 0.52
#> CCAI11 0.75 0.65 0.66 1.00 0.84 0.84 0.66 0.67 0.67 0.42 0.55
#> CCAI12 0.71 0.64 0.66 0.84 1.00 0.76 0.70 0.71 0.65 0.41 0.54
#> CCAI10 0.64 0.60 0.55 0.84 0.76 1.00 0.65 0.64 0.62 0.40 0.54
#> CCAI14 0.54 0.50 0.47 0.66 0.70 0.65 1.00 0.93 0.78 0.32 0.50
#> CCAI13 0.55 0.53 0.50 0.67 0.71 0.64 0.93 1.00 0.79 0.35 0.53
#> CCAI5 0.53 0.50 0.52 0.67 0.65 0.62 0.78 0.79 1.00 0.37 0.57
#> CCAI2 0.39 0.38 0.39 0.42 0.41 0.40 0.32 0.35 0.37 1.00 0.49
#> CCAI4 0.50 0.49 0.52 0.55 0.54 0.54 0.50 0.53 0.57 0.49 1.00
#> CCAI1 0.45 0.48 0.46 0.53 0.54 0.52 0.44 0.45 0.52 0.50 0.60
#> CCAI3 0.57 0.52 0.52 0.62 0.58 0.61 0.54 0.56 0.60 0.52 0.68
#> CCAI9 0.60 0.57 0.58 0.62 0.60 0.63 0.59 0.60 0.62 0.45 0.66
#> CCAI1 CCAI3 CCAI9
#> CCAI8 0.45 0.57 0.60
#> CCAI6 0.48 0.52 0.57
#> CCAI7 0.46 0.52 0.58
#> CCAI11 0.53 0.62 0.62
#> CCAI12 0.54 0.58 0.60
#> CCAI10 0.52 0.61 0.63
#> CCAI14 0.44 0.54 0.59
#> CCAI13 0.45 0.56 0.60
#> CCAI5 0.52 0.60 0.62
#> CCAI2 0.50 0.52 0.45
#> CCAI4 0.60 0.68 0.66
#> CCAI1 1.00 0.55 0.58
#> CCAI3 0.55 1.00 0.59
#> CCAI9 0.58 0.59 1.00
# Published pattern matrix and factor intercorrelations
round(CCAI_pattern, 2)
#> SustainableOptions CollectiveAction AvoidBuyingNew
#> CCAI8 0.95 0.00 -0.02
#> CCAI6 0.91 -0.04 0.01
#> CCAI7 0.89 -0.09 0.07
#> CCAI11 0.56 0.40 0.05
#> CCAI12 0.52 0.44 0.04
#> CCAI10 0.41 0.44 0.12
#> CCAI14 -0.01 0.97 -0.02
#> CCAI13 0.02 0.93 0.01
#> CCAI5 -0.02 0.78 0.20
#> CCAI2 -0.02 -0.18 0.90
#> CCAI4 0.00 0.15 0.76
#> CCAI1 0.03 0.06 0.76
#> CCAI3 0.10 0.21 0.62
#> CCAI9 0.22 0.27 0.46
round(CCAI_Phi, 2)
#> SustainableOptions CollectiveAction AvoidBuyingNew
#> SustainableOptions 1.00 0.59 0.59
#> CollectiveAction 0.59 1.00 0.53
#> AvoidBuyingNew 0.59 0.53 1.00
# Reproduce published analysis: PCA extraction via eigendecomposition
# followed by direct oblimin rotation --- no additional packages
# required. This gives the same result as psych:::principal used
# by Bi and Barchard (2024).
ev <- eigen(CCAI_R)
k <- 3
L_unrotated <- ev$vectors[, 1:k] %*% diag(sqrt(ev$values[1:k]))
rownames(L_unrotated) <- colnames(CCAI_R)
res_oblimin <- oblimin(L_unrotated, randomStarts = 100)
# print applies sorting --- capture the sorted result
res_sorted <- print(res_oblimin)
#> Oblique rotation method Oblimin Quartimin converged at lowest minimum.
#> Of 100 random starts 100% converged, 100% at the same lowest minimum.
#> Loadings at lowest minimum:
#> [,1] [,2] [,3]
#> CCAI8 0.946 0.003 -0.020
#> CCAI6 0.912 -0.044 0.014
#> CCAI7 0.893 -0.089 0.074
#> CCAI11 0.565 0.399 0.055
#> CCAI12 0.524 0.442 0.038
#> CCAI10 0.408 0.442 0.123
#> CCAI14 -0.007 0.969 -0.025
#> CCAI13 0.016 0.930 0.014
#> CCAI5 -0.018 0.780 0.196
#> CCAI2 -0.021 -0.176 0.902
#> CCAI4 0.005 0.146 0.758
#> CCAI1 0.029 0.058 0.757
#> CCAI3 0.101 0.211 0.624
#> CCAI9 0.216 0.272 0.464
#>
#> [,1] [,2] [,3]
#> SS loadings 3.892 3.756 3.084
#> Proportion Var 0.278 0.268 0.220
#> Cumulative Var 0.278 0.546 0.767
#>
#> Phi:
#> [,1] [,2] [,3]
#> [1,] 1.000 0.589 0.595
#> [2,] 0.589 1.000 0.534
#> [3,] 0.595 0.534 1.000
L_repro <- loadings(res_sorted)
# Compare reproduced vs published side by side, alternating by factor
comparison <- cbind(round(L_repro[, 1], 2), round(CCAI_pattern[, 1], 2),
round(L_repro[, 2], 2), round(CCAI_pattern[, 2], 2),
round(L_repro[, 3], 2), round(CCAI_pattern[, 3], 2))
colnames(comparison) <- c("F1.repro", "F1.pub",
"F2.repro", "F2.pub",
"F3.repro", "F3.pub")
print(comparison)
#> F1.repro F1.pub F2.repro F2.pub F3.repro F3.pub
#> CCAI8 0.95 0.95 0.00 0.00 -0.02 -0.02
#> CCAI6 0.91 0.91 -0.04 -0.04 0.01 0.01
#> CCAI7 0.89 0.89 -0.09 -0.09 0.07 0.07
#> CCAI11 0.56 0.56 0.40 0.40 0.05 0.05
#> CCAI12 0.52 0.52 0.44 0.44 0.04 0.04
#> CCAI10 0.41 0.41 0.44 0.44 0.12 0.12
#> CCAI14 -0.01 -0.01 0.97 0.97 -0.02 -0.02
#> CCAI13 0.02 0.02 0.93 0.93 0.01 0.01
#> CCAI5 -0.02 -0.02 0.78 0.78 0.20 0.20
#> CCAI2 -0.02 -0.02 -0.18 -0.18 0.90 0.90
#> CCAI4 0.00 0.00 0.15 0.15 0.76 0.76
#> CCAI1 0.03 0.03 0.06 0.06 0.76 0.76
#> CCAI3 0.10 0.10 0.21 0.21 0.62 0.62
#> CCAI9 0.22 0.22 0.27 0.27 0.46 0.46
# Orthogonal bifactor rotation on observed correlation matrix using MLE extraction
fa_unrotated <- factanal(factors = 3, covmat = CCAI_R, n.obs = 461,
rotation = "none")
bif <- bifactorT(loadings(fa_unrotated))
print(bif, sortLoadings = FALSE, digits = 3)
#> Orthogonal rotation method Bifactor Biquartimin converged.
#> Loadings:
#> Factor1 Factor2 Factor3
#> CCAI8 0.849 0.386 -0.042
#> CCAI6 0.785 0.334 -0.005
#> CCAI7 0.760 0.346 0.065
#> CCAI11 0.854 0.096 0.121
#> CCAI12 0.853 0.028 0.080
#> CCAI10 0.788 0.017 0.177
#> CCAI14 0.843 -0.480 -0.055
#> CCAI13 0.850 -0.448 -0.019
#> CCAI5 0.772 -0.294 0.175
#> CCAI2 0.444 0.067 0.432
#> CCAI4 0.618 -0.018 0.545
#> CCAI1 0.561 0.023 0.479
#> CCAI3 0.672 -0.001 0.430
#> CCAI9 0.714 -0.001 0.344
#>
#> Factor1 Factor2 Factor3
#> SS loadings 7.877 0.913 1.109
#> Proportion Var 0.563 0.065 0.079
#> Cumulative Var 0.563 0.628 0.707