In case a construct loads negatively on the first principal component, the function alignByLoadings()
will reverse
it so that all constructs have positive loadings on the first principal component (see detail section for more).
Value
An object of class alignByLoadings
containing a list of calculations with the following entries:
cor.before
: Construct correlation matrix before reversalloadings.before
: Loadings on PCs before reversalreversed
: Constructs that have been reversedcor.after
: Construct correlation matrix after reversalloadings.after
: Loadings on PCs after reversal
Details
The direction of the constructs in a grid is arbitrary and a reflection of a scale does not affect the information contained in the grid. Nonetheless, the direction of a scale has an effect on inter-element correlations (Mackay, 1992) and on the spatial representation and clustering of the grid (Bell, 2010). Hence, it is desirable to follow a protocol to align constructs that will render unique results. A common approach is to align constructs by pole preference, but this information is not always accessible. Bell (2010) proposed another solution for the problem of construct alignment. As a unique protocol he suggests to align constructs in a way so they all have positive loadings on the first component of a grid PCA.
Note
Bell (2010) proposed a solution for the problem of construct alignment. As construct reversal has an effect on element correlation and thus on any measure that based on element correlation (Mackay, 1992), it is desirable to have a standard method for construct alignment independently from its semantics (preferred pole etc.). Bell (2010) proposes to align constructs in a way so they all have positive loadings on the first component of a grid PCA.
References
Bell, R. C. (2010). A note on aligning constructs. Personal Construct Theory & Practice, 7, 42-48.
Mackay, N. (1992). Identification, Reflection, and Correlation: Problems in the bases of repertory grid measures. International Journal of Personal Construct Psychology, 5(1), 57-75.
Examples
# reproduction of the example in the Bell (2010)
# constructs aligned by loadings on PC 1
bell2010
#>
#> META DATA:
#> Number of constructs: 9
#> Number of elements: 10
#>
#> SCALE INFO:
#> The grid is rated on a scale from 1 (left pole) to 7 (right pole)
#>
#> RATINGS:
#> A teacher you respected - 5 6 - Mother (or the person who
#> on of the opposite sex t - 4 | | 7 - A person of the opposit
#> ppiest person you know - 3 | | | | 8 - The most confident pe
#> iend of the same sex - 2 | | | | | | 9 - A person you work w
#> self - 1 | | | | | | | | 10 - A teacher you di
#> | | | | | | | | | |
#> relaxed (1) 4 4 6 5 3 6 5 2 2 6 (1) worried & ten
#> (academically) (2) 6 7 6 5 7 4 6 7 4 7 (2) smart (academ
#> islikes sports (3) 6 3 7 6 4 4 2 3 6 3 (3) loves sports
#> ot interactive (4) 6 7 5 6 6 5 6 7 7 4 (4) loves people
#> ot transparent (5) 6 4 5 7 3 7 6 5 6 3 (5) transparent
#> insensitive (6) 4 6 5 4 4 6 5 3 4 2 (6) sensitive
#> fearful&timid (7) 5 4 4 6 5 3 5 6 5 5 (7) fearless
#> rough (8) 5 6 6 4 5 7 7 3 5 6 (8) gentle
#> ccept as it is (9) 5 5 6 7 4 4 6 7 5 5 (9) loves to argu
#>
alignByLoadings(bell2010)
#>
#> ###################################
#> Alignment of constructs by loadings
#> ###################################
#>
#> Construct correlations - before alignment
#>
#> 1 2 3 4 5 6 7 8
#> (1) relaxed - worried & 1 -0.10 0.03 -0.83 0.12 0.23 -0.49 0.66
#> (2) not so sma - smart (aca 2 -0.47 -0.01 -0.80 -0.35 0.28 -0.19
#> (3) dislikes s - loves spor 3 -0.04 0.36 0.04 -0.01 -0.24
#> (4) not intera - loves peop 4 0.17 0.21 0.34 -0.49
#> (5) not transp - transparen 5 0.38 -0.05 0.01
#> (6) insensitiv - sensitive 6 -0.71 0.55
#> (7) fearful&ti - fearless 7 -0.78
#> (8) rough - gentle 8
#> (9) accept as - loves to a 9
#> 9
#> (1) relaxed - worried & -0.08
#> (2) not so sma - smart (aca 0.12
#> (3) dislikes s - loves spor 0.08
#> (4) not intera - loves peop 0.25
#> (5) not transp - transparen 0.29
#> (6) insensitiv - sensitive -0.26
#> (7) fearful&ti - fearless 0.65
#> (8) rough - gentle -0.54
#> (9) accept as - loves to a
#>
#> Construct factor loadiongs on PC1 - before alignment
#>
#> PC1
#> (1) relaxed - worried & 0.726
#> (2) not so sma - smart (aca -0.392
#> (3) dislikes s - loves spor 0.029
#> (4) not intera - loves peop -0.553
#> (5) not transp - transparen 0.183
#> (6) insensitiv - sensitive 0.643
#> (7) fearful&ti - fearless -0.912
#> (8) rough - gentle 0.907
#> (9) accept as - loves to a -0.591
#>
#> The following constructs are reversed:
#>
#> index
#> (2) not so sma - smart (aca 2
#> (4) not intera - loves peop 4
#> (7) fearful&ti - fearless 7
#> (9) accept as - loves to a 9
#>
#> Construct correlations - after alignment
#>
#> 1 2 3 4 5 6 7 8
#> (1) relaxed - worried & 1 0.10 0.03 0.83 0.12 0.23 0.49 0.66
#> (2) smart (aca - not so sma 2 0.47 -0.01 0.80 0.35 0.28 0.19
#> (3) dislikes s - loves spor 3 0.04 0.36 0.04 0.01 -0.24
#> (4) loves peop - not intera 4 -0.17 -0.21 0.34 0.49
#> (5) not transp - transparen 5 0.38 0.05 0.01
#> (6) insensitiv - sensitive 6 0.71 0.55
#> (7) fearless - fearful&ti 7 0.78
#> (8) rough - gentle 8
#> (9) loves to a - accept as 9
#> 9
#> (1) relaxed - worried & 0.08
#> (2) smart (aca - not so sma 0.12
#> (3) dislikes s - loves spor -0.08
#> (4) loves peop - not intera 0.25
#> (5) not transp - transparen -0.29
#> (6) insensitiv - sensitive 0.26
#> (7) fearless - fearful&ti 0.65
#> (8) rough - gentle 0.54
#> (9) loves to a - accept as
#>
#> Construct factor loadings on PC1 - after alignment
#>
#> PC1
#> (1) relaxed - worried & 0.726
#> (2) smart (aca - not so sma 0.392
#> (3) dislikes s - loves spor 0.029
#> (4) loves peop - not intera 0.553
#> (5) not transp - transparen 0.183
#> (6) insensitiv - sensitive 0.643
#> (7) fearless - fearful&ti 0.912
#> (8) rough - gentle 0.907
#> (9) loves to a - accept as 0.591
#>
#>
# save results
a <- alignByLoadings(bell2010)
# modify printing of resukts
print(a, digits = 5)
#>
#> ###################################
#> Alignment of constructs by loadings
#> ###################################
#>
#> Construct correlations - before alignment
#>
#> 1 2 3 4 5
#> (1) relaxed - worried & 1 -0.10068 0.03312 -0.83425 0.11532
#> (2) not so sma - smart (aca 2 -0.46602 -0.00933 -0.80498
#> (3) dislikes s - loves spor 3 -0.03914 0.36048
#> (4) not intera - loves peop 4 0.16657
#> (5) not transp - transparen 5
#> (6) insensitiv - sensitive 6
#> (7) fearful&ti - fearless 7
#> (8) rough - gentle 8
#> (9) accept as - loves to a 9
#> 6 7 8 9
#> (1) relaxed - worried & 0.23226 -0.49383 0.66146 -0.07915
#> (2) not so sma - smart (aca -0.34849 0.28279 -0.19076 0.12087
#> (3) dislikes s - loves spor 0.04146 -0.01412 -0.23593 0.08449
#> (4) not intera - loves peop 0.20532 0.34045 -0.49467 0.24946
#> (5) not transp - transparen 0.38498 -0.04916 0.01190 0.29417
#> (6) insensitiv - sensitive -0.71485 0.54740 -0.26426
#> (7) fearful&ti - fearless -0.78384 0.65239
#> (8) rough - gentle -0.53932
#> (9) accept as - loves to a
#>
#> Construct factor loadiongs on PC1 - before alignment
#>
#> PC1
#> (1) relaxed - worried & 0.72578
#> (2) not so sma - smart (aca -0.39207
#> (3) dislikes s - loves spor 0.02883
#> (4) not intera - loves peop -0.55256
#> (5) not transp - transparen 0.18347
#> (6) insensitiv - sensitive 0.64337
#> (7) fearful&ti - fearless -0.91207
#> (8) rough - gentle 0.90655
#> (9) accept as - loves to a -0.59095
#>
#> The following constructs are reversed:
#>
#> index
#> (2) not so sma - smart (aca 2
#> (4) not intera - loves peop 4
#> (7) fearful&ti - fearless 7
#> (9) accept as - loves to a 9
#>
#> Construct correlations - after alignment
#>
#> 1 2 3 4 5
#> (1) relaxed - worried & 1 0.10068 0.03312 0.83425 0.11532
#> (2) smart (aca - not so sma 2 0.46602 -0.00933 0.80498
#> (3) dislikes s - loves spor 3 0.03914 0.36048
#> (4) loves peop - not intera 4 -0.16657
#> (5) not transp - transparen 5
#> (6) insensitiv - sensitive 6
#> (7) fearless - fearful&ti 7
#> (8) rough - gentle 8
#> (9) loves to a - accept as 9
#> 6 7 8 9
#> (1) relaxed - worried & 0.23226 0.49383 0.66146 0.07915
#> (2) smart (aca - not so sma 0.34849 0.28279 0.19076 0.12087
#> (3) dislikes s - loves spor 0.04146 0.01412 -0.23593 -0.08449
#> (4) loves peop - not intera -0.20532 0.34045 0.49467 0.24946
#> (5) not transp - transparen 0.38498 0.04916 0.01190 -0.29417
#> (6) insensitiv - sensitive 0.71485 0.54740 0.26426
#> (7) fearless - fearful&ti 0.78384 0.65239
#> (8) rough - gentle 0.53932
#> (9) loves to a - accept as
#>
#> Construct factor loadings on PC1 - after alignment
#>
#> PC1
#> (1) relaxed - worried & 0.72578
#> (2) smart (aca - not so sma 0.39207
#> (3) dislikes s - loves spor 0.02883
#> (4) loves peop - not intera 0.55256
#> (5) not transp - transparen 0.18347
#> (6) insensitiv - sensitive 0.64337
#> (7) fearless - fearful&ti 0.91207
#> (8) rough - gentle 0.90655
#> (9) loves to a - accept as 0.59095
#>
#>
# access results for further processing
names(a)
#> [1] "cor.before" "loadings.before" "reversed" "cor.after"
#> [5] "loadings.after"
a$cor.before
#>
#> ##############################
#> Correlation between constructs
#> ##############################
#>
#> Type of correlation: pearson
#>
#> 1 2 3 4 5 6 7 8
#> (1) relaxed - worried & 1 -0.10 0.03 -0.83 0.12 0.23 -0.49 0.66
#> (2) not so sma - smart (aca 2 -0.47 -0.01 -0.80 -0.35 0.28 -0.19
#> (3) dislikes s - loves spor 3 -0.04 0.36 0.04 -0.01 -0.24
#> (4) not intera - loves peop 4 0.17 0.21 0.34 -0.49
#> (5) not transp - transparen 5 0.38 -0.05 0.01
#> (6) insensitiv - sensitive 6 -0.71 0.55
#> (7) fearful&ti - fearless 7 -0.78
#> (8) rough - gentle 8
#> (9) accept as - loves to a 9
#> 9
#> (1) relaxed - worried & -0.08
#> (2) not so sma - smart (aca 0.12
#> (3) dislikes s - loves spor 0.08
#> (4) not intera - loves peop 0.25
#> (5) not transp - transparen 0.29
#> (6) insensitiv - sensitive -0.26
#> (7) fearful&ti - fearless 0.65
#> (8) rough - gentle -0.54
#> (9) accept as - loves to a
a$loadings.before
#> PC1
#> (1) relaxed - worried & 0.7257763
#> (2) not so sma - smart (aca -0.3920715
#> (3) dislikes s - loves spor 0.0288297
#> (4) not intera - loves peop -0.5525596
#> (5) not transp - transparen 0.1834655
#> (6) insensitiv - sensitive 0.6433699
#> (7) fearful&ti - fearless -0.9120746
#> (8) rough - gentle 0.9065492
#> (9) accept as - loves to a -0.5909500
a$reversed
#> index
#> (2) not so sma - smart (aca 2
#> (4) not intera - loves peop 4
#> (7) fearful&ti - fearless 7
#> (9) accept as - loves to a 9
a$cor.after
#>
#> ##############################
#> Correlation between constructs
#> ##############################
#>
#> Type of correlation: pearson
#>
#> 1 2 3 4 5 6 7 8
#> (1) relaxed - worried & 1 0.10 0.03 0.83 0.12 0.23 0.49 0.66
#> (2) smart (aca - not so sma 2 0.47 -0.01 0.80 0.35 0.28 0.19
#> (3) dislikes s - loves spor 3 0.04 0.36 0.04 0.01 -0.24
#> (4) loves peop - not intera 4 -0.17 -0.21 0.34 0.49
#> (5) not transp - transparen 5 0.38 0.05 0.01
#> (6) insensitiv - sensitive 6 0.71 0.55
#> (7) fearless - fearful&ti 7 0.78
#> (8) rough - gentle 8
#> (9) loves to a - accept as 9
#> 9
#> (1) relaxed - worried & 0.08
#> (2) smart (aca - not so sma 0.12
#> (3) dislikes s - loves spor -0.08
#> (4) loves peop - not intera 0.25
#> (5) not transp - transparen -0.29
#> (6) insensitiv - sensitive 0.26
#> (7) fearless - fearful&ti 0.65
#> (8) rough - gentle 0.54
#> (9) loves to a - accept as
a$loadings.after
#> PC1
#> (1) relaxed - worried & 0.7257763
#> (2) smart (aca - not so sma 0.3920715
#> (3) dislikes s - loves spor 0.0288297
#> (4) loves peop - not intera 0.5525596
#> (5) not transp - transparen 0.1834655
#> (6) insensitiv - sensitive 0.6433699
#> (7) fearless - fearful&ti 0.9120746
#> (8) rough - gentle 0.9065492
#> (9) loves to a - accept as 0.5909500