Using Circumplex Instruments

library(circumplex)
library(dplyr)

2. Loading and Examining Instrument Objects

Previewing the available instruments

Our goal is to eventually include all circumplex instruments in this package. However, due to time-constraints and copyright issues, this goal may be delayed or even impossible to fully realize. However, you can always preview the list of currently available instruments using the instruments() function. This function will print the abbreviation, name, and (in parentheses) the “code” for each available instrument. We will return to the code in the next section.

instruments()
#> The circumplex package currently includes 13 instruments:
#>  1. CSIE: Circumplex Scales of Interpersonal Efficacy (csie)
#>  2. CSIG: Circumplex Scales of Intergroup Goals (csig)
#>  3. CSIP: Circumplex Scales of Interpersonal Problems (csip)
#>  4. CSIV: Circumplex Scales of Interpersonal Values (csiv)
#>  5. IGI-CR: Interpersonal Goals Inventory for Children, Revised Version (igicr)
#>  6. IIP-32: Inventory of Interpersonal Problems, Brief Version (iip32)
#>  7. IIP-64: Inventory of Interpersonal Problems (iip64)
#>  8. IIP-SC: Inventory of Interpersonal Problems, Short Circumplex (iipsc)
#>  9. IIS-32: Inventory of Interpersonal Strengths, Brief Version (iis32)
#>  10. IIS-64: Inventory of Interpersonal Strengths (iis64)
#>  11. IIT-C: Inventory of Influence Tactics Circumplex (iitc)
#>  12. IPIP-IPC: IPIP Interpersonal Circumplex (ipipipc)
#>  13. ISC: Interpersonal Sensitivities Circumplex (isc)

If there are additional circumplex instruments you would like to have added to the package (especially if you are the author/copyright-holder), please contact me. Note that some information (e.g., item text and normative data) may not be available for all instruments due to copyright issues. However, many instruments are released as open-access and have full item text and normative data included in the package.

Loading a specific instrument

To reduce loading time and memory usage, instrument information is not loaded into R’s memory when the circumplex package is loaded. Instead, instruments should be loaded into memory on an as-needed basis. As demonstrated below, this can be done by passing an instrument’s code (which we saw how to find in the last section) to the instrument() function. We can then examine that instrument data using the print() function.

instrument(csip)
print(csip)
#> CSIP: Circumplex Scales of Interpersonal Problems
#> 64 items, 8 scales, 1 normative data sets
#> Boudreaux, Ozer, Oltmanns, & Wright (2018)
#> <https://doi.org/10.1037/pas0000505>

Note, however, that an error will result if the print() function (or any of the functions to be described later) is called before the instrument() function has loaded the data. Order of operations is important!

print(isc)
#> ISC: Interpersonal Sensitivities Circumplex
#> 64 items, 8 scales, 1 normative data sets
#> Hopwood et al. (2011)
#> <https://doi.org/10.1111/j.1467-6494.2011.00696.x>
instrument(isc)
print(isc)
#> ISC: Interpersonal Sensitivities Circumplex
#> 64 items, 8 scales, 1 normative data sets
#> Hopwood et al. (2011)
#> <https://doi.org/10.1111/j.1467-6494.2011.00696.x>

Examining an instrument in-depth

To examine the information available about a loaded instrument, there are several options. To print a long list of formatted information about the instrument, use the summary() function. This will return the same information returned by print(), followed by information about the instrument’s scales, rating scale anchors, items, and normative data set(s). The summary of each instrument is also available from the package reference page.

instrument("ipipipc")
summary(ipipipc)
#> IPIP-IPC: IPIP Interpersonal Circumplex
#> 32 items, 8 scales, 1 normative data sets
#> Markey & Markey (2009)
#> <https://doi.org/10.1177/1073191109340382>
#> 
#> The IPIP-IPC contains 8 circumplex scales.
#> PA: Assured-Dominant (90 degrees)
#> BC: Arrogant-Calculating (135 degrees)
#> DE: Cold-Hearted (180 degrees)
#> FG: Aloof-Introverted (225 degrees)
#> HI: Unassured-Submissive (270 degrees)
#> JK: Unassuming-Ingenuous (315 degrees)
#> LM: Warm-Agreeable (360 degrees)
#> NO: Gregarious-Extraverted (45 degrees)
#> 
#> The IPIP-IPC is rated using the following 5-point scale.
#> 1. Very Inaccurate
#> 2. Moderately Inaccurate
#> 3. Neither Inaccurate nor Accurate
#> 4. Moderately Accurate
#> 5. Very Accurate
#> 
#> The IPIP-IPC contains 32 items (open-access):
#> 1. Am quiet around strangers
#> 2. Speak softly
#> 3. Tolerate a lot from others
#> 4. Am interested in people
#> 5. Feel comfortable around people
#> 6. Demand to be the center of interest
#> 7. Cut others to pieces
#> 8. Believe people should fend for themselves
#> 9. Am a very private person
#> 10. Let others finish what they are saying
#> 11. Take things as they come
#> 12. Reassure others
#> 13. Start conversations
#> 14. Do most of the talking
#> 15. Contradict others
#> 16. Don't fall for sob-stories
#> 17. Don't talk a lot
#> 18. Seldom toot my own horn
#> 19. Think of others first
#> 20. Inquire about others' well-being
#> 21. Talk to a lot of different people at parties
#> 22. Speak loudly
#> 23. Snap at people
#> 24. Don't put a lot of thought into things
#> 25. Have little to say
#> 26. Dislike being the center of attention
#> 27. Seldom stretch the truth
#> 28. Get along well with others
#> 29. Love large parties
#> 30. Demand attention
#> 31. Have a sharp tongue
#> 32. Am not interested in other people's problems
#> 
#> The IPIP-IPC currently has 1 normative data set(s):
#> 1. 274 American college students
#> Markey & Markey (2009)
#> <https://doi.org/10.1177/1073191109340382>

Specific subsections of this output can be returned individually using the scales(), anchors(), items(), and norms() functions. These functions are especially useful when you need to know a specific bit of information about an instrument and don’t want the console to be flooded with unneeded information.

anchors(ipipipc)
#> The IPIP-IPC is rated using the following 5-point scale.
#> 1. Very Inaccurate
#> 2. Moderately Inaccurate
#> 3. Neither Inaccurate nor Accurate
#> 4. Moderately Accurate
#> 5. Very Accurate
norms(ipipipc)
#> The IPIP-IPC currently has 1 normative data set(s):
#> 1. 274 American college students
#> Markey & Markey (2009)
#> <https://doi.org/10.1177/1073191109340382>

Some of these functions also have additional arguments to customize their output. For instance, the scales() function has the items argument, which will display the items for each scale when set to TRUE.

scales(ipipipc, items = TRUE)
#> The IPIP-IPC contains 8 circumplex scales.
#> PA: Assured-Dominant (90 degrees)
#>     6. Demand to be the center of interest
#>     14. Do most of the talking
#>     22. Speak loudly
#>     30. Demand attention
#> BC: Arrogant-Calculating (135 degrees)
#>     7. Cut others to pieces
#>     15. Contradict others
#>     23. Snap at people
#>     31. Have a sharp tongue
#> DE: Cold-Hearted (180 degrees)
#>     8. Believe people should fend for themselves
#>     16. Don't fall for sob-stories
#>     24. Don't put a lot of thought into things
#>     32. Am not interested in other people's problems
#> FG: Aloof-Introverted (225 degrees)
#>     1. Am quiet around strangers
#>     9. Am a very private person
#>     17. Don't talk a lot
#>     25. Have little to say
#> HI: Unassured-Submissive (270 degrees)
#>     2. Speak softly
#>     10. Let others finish what they are saying
#>     18. Seldom toot my own horn
#>     26. Dislike being the center of attention
#> JK: Unassuming-Ingenuous (315 degrees)
#>     3. Tolerate a lot from others
#>     11. Take things as they come
#>     19. Think of others first
#>     27. Seldom stretch the truth
#> LM: Warm-Agreeable (360 degrees)
#>     4. Am interested in people
#>     12. Reassure others
#>     20. Inquire about others' well-being
#>     28. Get along well with others
#> NO: Gregarious-Extraverted (45 degrees)
#>     5. Feel comfortable around people
#>     13. Start conversations
#>     21. Talk to a lot of different people at parties
#>     29. Love large parties

An additional, though advanced, option for examining the available information about an instrument is to explore the instrument object itself. This can be done within R using the View() function. Note that the first letter in this function (V) must be capitalized. This will open up a data viewer window like the one shown below; it will give you full access to the information stored by the package, albeit in a “raw” format. Don’t worry if the image below is confusing or overwhelming; you never have to see it again unless you want to!

View(ipipipc)

4. Wrap-up

In this vignette, we learned how to preview the instruments available in the circumplex package, load and examine the information contained in one of these instrument objects, ipsatize item-level data, calculate scale scores from item-level data, and standardize those scale scores using normative data included in the package. We are now in an excellent position to discover and implement new circumplex instruments. Later vignettes describe analyses and visualizations that make use of the data collected using these tools.

Special thanks to the authors and publishers who granted permission to include information about their instruments in this package: Chloe Bliton, Michael Boudreaux, Robert Hatcher, Christopher Hopwood, Leonard Horowitz, Kenneth Locke, Patrick Markey, Aaron Pincus, Elisa Trucco, and MindGarden Inc.