Skip to contents

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).

Usage

alignByLoadings(x, trim = 20, index = TRUE)

Arguments

x

repgrid object.

trim

The number of characters a construct is trimmed to (default is 10). If NA no trimming is done. Trimming simply saves space when displaying the output.

index

Whether to print the number of the construct (e.g. for correlation matrices). The default is TRUE.

Value

An object of class alignByLoadings containing a list of calculations with the following entries:

  • cor.before: Construct correlation matrix before reversal

  • loadings.before: Loadings on PCs before reversal

  • reversed: Constructs that have been reversed

  • cor.after: Construct correlation matrix after reversal

  • loadings.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

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