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.
See also
Aligning constructs
alignByIdeal()
,
alignByPreferredPole()
Examples
# reproduction of the example in the Bell (2010)
# constructs aligned by loadings on PC 1
bell2010
#>
#> META DATA:
#> Number of elements: 10
#> Number of constructs: 9
#> Preferred poles defined: 0/9
#>
#> 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 fill
#> person of the opposite sex t - 4 | | 7 - A person of the opposite sex
#> unhappiest person you know - 3 | | | | 8 - The most confident person
#> st friend of the same sex - 2 | | | | | | 9 - A person you work well w
#> self - 1 | | | | | | | | 10 - A teacher you did not
#> | | | | | | | | | |
#> relaxed (.1) 4 4 6 5 3 6 5 2 2 6 (1.) worried & tense
#> art (academically) (.2) 6 7 6 5 7 4 6 7 4 7 (2.) smart (academical
#> dislikes sports (.3) 6 3 7 6 4 4 2 3 6 3 (3.) loves sports
#> not interactive (.4) 6 7 5 6 6 5 6 7 7 4 (4.) loves people
#> not 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
#> accept as it is (.9) 5 5 6 7 4 4 6 7 5 5 (9.) loves to argue
#>
#> Poles: (+) = preferred , (-) = non-preferred , (/) = none , (.) = not defined
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