Skip to content

Commit

Permalink
Merge pull request #44 from arfon/patch-1
Browse files Browse the repository at this point in the history
Minor formatting fixes
  • Loading branch information
markheckmann authored Dec 18, 2024
2 parents 7c2c3aa + 59c974a commit ebbfc93
Showing 1 changed file with 8 additions and 20 deletions.
28 changes: 8 additions & 20 deletions paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,33 +19,21 @@ output:
word_document: default
---

<style type="text/css">
code.r{
font-size: 12px;
}
pre {
font-size: 12px
}
</style>




# Introduction

[OpenRepGrid](https://cran.r-project.org/web/packages/OpenRepGrid/index.html) is an R package designed to analyze [repertory grid](https://en.wikipedia.org/wiki/Repertory_grid) (also referred to as *grid* or *repgrid*) data. The software is open-source and available on all major operating systems. The package is also the workhorse on which other packages of the [OpenRepGrid project](http://openrepgrid.org/), for example, [gridsampler](https://openresearchsoftware.metajnl.com/articles/10.5334/jors.150/) [@heckmann_gridsampler_2017] or [OpenRepGrid.ic](https://joss.theoj.org/papers/10.21105/joss.03292) [@heckmann_openrepgridic_2023], partially rely.


# Repertory Grid Technique

The repertory grid technique (RGT) is a data collection method that originated from *Personal Construct Theory (PCT)* [@kelly_psychology_1955]. It was originally designed as an instrument for psychotherapy to shed light on a client’s construction of the world. Over subsequent decades, the technique has been adopted in many other fields, including market, organizational, political, educational or sensory research [@fransella_manual_2004]. The data the RGT generates is *qualitative* and *quantitative*. On the qualitative side, the technique elicits the repertory of bipolar attributes (e.g. *smart vs. dull*, so-called *constructs* in PCT terminology) that an individual uses to make distinctions between entities of the world (e.g. different people, referred to as *elements* in PCT terminology). On the quantitative side, it requires rating each element on each elicited personal construct (e.g. *Martin* has a score of 2 on the *quarrelsome = 1 vs. peaceful = 6* construct, indicating that Martin is rather quarrelsome). The result of the data collection procedure is a matrix. The constructs are presented as rows, the elements as columns, and each cell contains the corresponding rating score. Figure 1 depicts a grid data set, with the rows (constructs) and columns (elements) clustered by similarity (see below for details). A thorough introduction to the repertory grid technique is given by @fransella_manual_2004.
The repertory grid technique (RGT) is a data collection method that originated from *Personal Construct Theory (PCT)* [@kelly_psychology_1955]. It was originally designed as an instrument for psychotherapy to shed light on a client’s construction of the world. Over subsequent decades, the technique has been adopted in many other fields, including market, organizational, political, educational or sensory research [@fransella_manual_2004]. The data the RGT generates is *qualitative* and *quantitative*. On the qualitative side, the technique elicits the repertory of bipolar attributes (e.g. *smart vs. dull*, so-called *constructs* in PCT terminology) that an individual uses to make distinctions between entities of the world (e.g. different people, referred to as *elements* in PCT terminology). On the quantitative side, it requires rating each element on each elicited personal construct (e.g. *Martin* has a score of 2 on the *quarrelsome = 1 vs. peaceful = 6* construct, indicating that Martin is rather quarrelsome). The result of the data collection procedure is a matrix. The constructs are presented as rows, the elements as columns, and each cell contains the corresponding rating score. Figure 1 depicts a grid data set, with the rows (constructs) and columns (elements) clustered by similarity (see below for details). A thorough introduction to the repertory grid technique is given by @fransella_manual_2004.

![**Figure 1.** Example of a repertory grid dataset (with rows and columns clustered by similarity).](img/01-bertin-clustered.png)
![Example of a repertory grid dataset (with rows and columns clustered by similarity).](img/01-bertin-clustered.png)


# Available Software

While it is possible to work with repertory grids directly without further processing, it is common to submit grid data to statistical analysis [e.g. @fransella_manual_2004]. For this purpose, software packages have been developed since the 1960s [@sewell_computerized_1992], including Enquire Within [@mayes_enquire_2008], GridStat [@bell_gridstat_2009], GridCor [@feixas_gridcor:_2002], Idiogrid [@grice_idiogrid:_2002], Rep 5 [@gaines_rep_2009], GridSuite [@fromm_gridsuite_2006], rep:grid [@rosenberger_vademecum_2015]. Despite the numerous software packages available, several issues are common among them:
While it is possible to work with repertory grids directly without further processing, it is common to submit grid data to statistical analysis [e.g., @fransella_manual_2004]. For this purpose, software packages have been developed since the 1960s [@sewell_computerized_1992], including Enquire Within [@mayes_enquire_2008], GridStat [@bell_gridstat_2009], GridCor [@feixas_gridcor:_2002], Idiogrid [@grice_idiogrid:_2002], Rep 5 [@gaines_rep_2009], GridSuite [@fromm_gridsuite_2006], rep:grid [@rosenberger_vademecum_2015]. Despite the numerous software packages available, several issues are common among them:

* All listed software programs are closed source or at least not available in a public repository.
* No software offers all analysis methods devised in the literature.
Expand All @@ -64,7 +52,7 @@ The open-source nature of the project may also facilitate scientific progress. C

# Features

An overview of all implemented features can be found on the project’s website (http://docs.openrepgrid.org.) and in the R package’s documentation files, accessible via [R Help](https://www.r-project.org/help.html). The implemented features include the following:
An overview of all implemented features can be found on the project’s website (http://docs.openrepgrid.org) and in the R package’s documentation files, accessible via [R Help](https://www.r-project.org/help.html). The implemented features include the following:

* *Data handling*: Importing and exporting grid data from different formats, sorting grids, included datasets (e.g. the `boeker` dataset, see below)
* *Analyzing constructs*: Descriptive statistics, correlations, distances, PCA of construct correlations, cluster analysis, aligning constructs
Expand All @@ -87,7 +75,7 @@ Figure 2 shows a *biplot* of the same grid. A biplot is the generalization of a
biplot2d(boeker)
```

![**Figure 2.** Biplot of Böker's dataset.](img/02-biplot.png)
![Biplot of Böker's dataset.](img/02-biplot.png)

Figure 3 shows the dendrogram for the elements, which is the result of a hierarchical cluster analysis using Ward's method with a Euclidean distance measure. Using an approach suggested by @heckmann_new_2016, the dendrogram structures are also tested for stability. Stable or significant structures are framed in a rectangle, indicating that "childhood self", "self before illness", "self with delusion", and "self as dreamer" form a stable group of elements. Figure 3 is created by the following code:

Expand All @@ -98,17 +86,17 @@ plot(s)
pvrect(s, max.only = FALSE)
```

![**Figure 3.** Dendrogram of clustering results.](img/03-clusterboot.png)
![Dendrogram of clustering results.](img/03-clusterboot.png)

The last example showcases the detection of *implicative dilemmas*. Implicative dilemmas represent a form of cognitive conflict. An implicative dilemma arises when a desired change on one construct is associated with a negative on another construct. For example, a *timid* person may wish to become more *socially skilled* but associates being more socially skilled with several negative characteristics (selfish, insensitive, etc.). The person might, for example, construe the implication of becoming less timid (desired) as also being more selfish (undesired) [@winter_construct_1982]. As a consequence, the person may resist the desired change if the presumed implications are perceived to threaten the person's identity. The investigation of the role of implicative dilemmas in different mental disorders is an active field of research in PCP [e.g. @feixas_multi-center_2004; @dorough_implicative_2007; @rouco_measurement_2019]. Implicative dilemmas can be detected using the `indexDilemma` function. For the dataset above, the results show that a desired change on the discrepant construct *balanced - get along with conflicts* towards the *get along with conflicts* pole implies four undesired changes, such as becoming more *indifferent* and less *peaceful*.
The last example showcases the detection of *implicative dilemmas*. Implicative dilemmas represent a form of cognitive conflict. An implicative dilemma arises when a desired change on one construct is associated with a negative on another construct. For example, a *timid* person may wish to become more *socially skilled* but associates being more socially skilled with several negative characteristics (selfish, insensitive, etc.). The person might, for example, construe the implication of becoming less timid (desired) as also being more selfish (undesired) [@winter_construct_1982]. As a consequence, the person may resist the desired change if the presumed implications are perceived to threaten the person's identity. The investigation of the role of implicative dilemmas in different mental disorders is an active field of research in PCP [e.g., @feixas_multi-center_2004; @dorough_implicative_2007; @rouco_measurement_2019]. Implicative dilemmas can be detected using the `indexDilemma` function. For the dataset above, the results show that a desired change on the discrepant construct *balanced - get along with conflicts* towards the *get along with conflicts* pole implies four undesired changes, such as becoming more *indifferent* and less *peaceful*.


```r
id <- indexDilemma(boeker, self = 1, ideal = 2)
plot(id)
```

![**Figure 4.** Network graph of implicative dilemmas.](img/04-implicative-dilemmas.png)
![Network graph of implicative dilemmas.](img/04-implicative-dilemmas.png)


# Contributing
Expand Down

0 comments on commit ebbfc93

Please sign in to comment.