openrepgrid – an open source software for the analysis of repertory grids
DESCRIPTION
Workshop held at the 11th Biennial Conference of the European Personal Construct Association (EPCA), Dublin, Irland, June 2012. If you have any questions about OpenRepgrid visit the OpenRepGrid Google group under http://groups.google.com/group/openrepgridTRANSCRIPT
OpenRepGrid An R package for the analysis of repertory grids
EPCA Conference, Dublin, June 30, 2012
Mark Heckmann University of Bremen, Germany
PART I • Motivation for OpenRepGrid • Why R? • The OpenRepGrid project
PART II • Gettings started with R • Gettings started with OpenRepGrid • Basic grid analysis
PART III • Creating a report • Adding functionality
Part I
User diversity leads to different user needs …
Clinicians
Business consultant
Researchers
Coaches
General requirements for (grid) software
• Durability
• Availability
• Functionality
• Compatibility
• Documentation
• Openness
• Extensibility
• Usability
Current situa+on
No grid software offers all methods
of analysis that have been
devised in the literature
Source: http://callcentersindia.files.wordpress.com/2010/06/selection-process.png
1
THE STRUCTURAL QUADRANTS METHOD:A NEW APPROACH TO THE ASSESSMENT OF CONSTRUCT
SYSTEM COMPLEXITY VIA THE REPERTORY GRID
JOSEP GALLIFA and LUIS BOTELLA
Department of Psychology, Ramon Llull University, Barcelona, Spain
This article presents a new mathematical method (the Structural Quadrants Method)for the assessment of construct system complexity via the repertory grid. The Struc-tural Quadrants Method (SQM) is presented step by step, and its sensitivity togrid structure is illustrated by applying it to five case studies. A validational studydemonstrating the discriminative power of the SQM and comparing it to tradi-tional measures is included. Results indicate that the SQM discriminates between agroup of 11 experts and one of 11 novices in terms of grid complexity as expected(i.e., detecting high degrees of differentiation and integration in the experts’ gridsand low degrees of differentiation and integration in the novices’ grids). The dis-criminative power of the SQM is unparalleled by the traditional measures of gridstructure compared in this article. The article ends with a section on the distinctiveadvantages of the SQM and some suggest ions for future research.
The term cognitive complexity was initially introduced by Bieri (1955),and defined as “the capacity to construe social behavior in a multidi-mensional way” (Bieri et al., 1966, p. 185). As discussed by G. J. Neimeyer(1992, p. 94), such a definition of construct system complexity empha-sizes differentiation, understood as “the relative number of differentdimensions of judgment used by a person.” In line with this notion ofcomplexity as differentiation, traditional measures of construct systemcomplexity have relied on an attempt to assess the degree of overlapor redundancy in the use of constructs, with higher degrees of overlapreflecting lower levels of differentiation and complexity (G. J. Neimeyer,1992).
A theoretically coherent notion of construct system complexity can-not solely rely on the system’s level of differentiation but must also
Received 7 May 1997; accepted 24 July 1998.The authors would like to thank Robert A. Neimeyer and two anonymous review-
ers for their insightful comments on earlier drafts.Address correspondence to Luis Botella, Department of Psychology, Ramon Llull
University, Cister 24–34, 08022-Barce lona, Spain. E-mail: [email protected]
Journal of Constructivist Psychology, 13:1–26, 2000Copyright ã 2000 Taylor & Francis1072-0537/00 $12.00 + .00
Not extensible by user
No framework to support experimental types of analysis
The output of most programs does not easily
lend itself to subsequent
computation
Source: http://www.jacksofscience.com/wp-content/uploads/2008/05/computing_occurs.jpg
Development by a single person or a small
group of researchers, each with their own
special competencies in a certain field of research and often
limited time resources. (Fromm, 2009)
Source: http://www.kirchen-und-kapellen.de/images/content/Community.jpg
No joint community effort
to improve a program:
Development and documentation is delegated to the
software providers
Source: h1p://evolu+on.berkeley.edu/evosite/misconceps/images/misconcep+ons_beavers2.gif
Discontinued development
once its initiators have moved on to
other fields or retired
“the programs that are currently available have a short shelf-life in that they are unlikely to be updated once their creators have retired”
(Fransella, Bannister & Bell, 2004, p. 38)
What to do? • Software design that enables users to
contribute to its development • Set up infra- and communication
structures to foster participation in a joint development
Go Open Source!
Why ?
• Because I am familiar with it
• is the lingua franca in the field of
statistics
• runs on all major platforms
• is managable by non-programmers
• becomes increasingly popular within
the social sciences
Mu
en
ch
en
, R. A
. (20
12).
Po
pu
larit
y o
f da
ta a
na
lysis
so
ftw
are
. h
ttp
://r
4sta
ts.c
om
/art
icle
s/p
op
ula
rity/
• provides an underlying framework for
further computations
• provides a wealth of functionality
Mu
en
ch
en
, R. A
. (20
12).
Po
pu
larit
y o
f da
ta a
na
lysis
so
ftw
are
. h
ttp
://r
4sta
ts.c
om
/art
icle
s/p
op
ula
rity/
• provides an underlying framework for
further computations
• provides a wealth of functionality
• fosters extensibility (GUI, 3D etc.)
Suitable for Open Source grid software development
OpenRepGrid project
OpenRepGrid R package OpenRepGrid Wiki
User entry points
• Give feedback: bug reports, suggestions ...
• Supply method descriptions to trigger development
• Provide R code snippets
• Generate tutorials and case studies
• Join the R package development team
Development phases
Phase 1
• Create wide range of analysis methods
• Development of Wiki
• Target: Researchers
Phase 2
• Adding graphical user interface
• Target: Practicioners and casual users
Part II
Setup
+ www.r-project.org www.rstudio.org
28
29
Basics
• R is interactive
• Navigate through former commands by pressing up and down arrows
• Everything after a hash (#) is a comment
• Execute a command by pressing the enter-key
30
Using R as a calculator
4 + 4! ! ! ! !# Addition!4 - 1! ! ! !# Subtraction!4 / 2! ! ! ! !# Division!2 * 2! ! ! ! !# Multiplication!2^2 ! ! ! !# Power!!2 + 2 * 3! ! !# standard calculating rules !2 * 2^3! ! ! ! !!(2-1) * (2+2) ! !# standard use of brackets!
31
Variable assignments
!a <- 2 + 2! ! !# assignment operator!a ! ! ! ! !# variable value is 4!!a <- 100 ! ! # change variable value!a * 10 ! ! ! ! !# use the variable !!a <- ”Some text" !# assign text to variable!a * 10 ! ! !# error!
32
Objects
Objects (Variables) names may contain numbers, letters, underscores or dots. The name must not contain a function (+, - *, / etc.).
object1 <- 10!
object.1 <- “hallo“!
!
Names are case sensitive
myObject <- 1!myobject <- 2
33
Functions
Function (lat. performance, execution) Every function uses round brackets c() !a <- c(3,4,5)!!!
rnorm()!rnorm(4)!!!
34
Functions
Commands inside the function’s round brackets are called arguments. A function may take zero to many arguments. rnorm(3) ![1] -0.3628728 -0.4580532 -1.3729865!!
Every function has a documented set of arguments !
?rnorm!!
35
“Nurse, get on the internet, go to SURGERY.COM, scroll down and click on the ,‘Are you totally lost?’ icon.“
36
R Help System
37
Some functions
a <- c(1.2, 3.3, 6.5)!round(a) ! !!sum(a) ! ! !mean(a)! ! !!
38
Extracting vector elements
a[1]! ! ! ! ! !# retrieve first element!!a[c(1,2)]! ! ! !# elements 1 and 2!!!# Delete elements!a[-1]! ! ! ! !# delete first element!!a <- a[-1]!
39
Matrices
?matrix!m <- matrix(1:9, ncol=3)!!m[rows , columns]!!m[1 , ] ! ! !# first row, all columns!m[ , 1] ! ! !# frist column, all rows!m[1:2, 1]! ! !# first two rows, all columns!!m[-1, ]! ! ! !# delete first row!!
40
Replace matrix elements
m[1, 1] <- 999!m!!!m[1 , ] <- c(90,91,92)!m!!!
Exploring software features on
www.openrepgrid.org
Web Repository with 3.500+ packages
OpenRepGrid
Load package when starting R
Part III
Create a function that counts the number of
midpoint ratings
Task
47
Logical operators
TRUE!FALSE!!2 == 1 ! ! ! ! !# equal?!c(1,2,1,3) == 1!!
Writing new functions
f <- function(){!!# some R commands!
}!f()!!!f <- function(x){!!x!
}!f(12)!! !
Writing new functions
f <- function(x){!!sum(x) / length(x)!
}!!a <- c(1,2,3,4) !f(a)!! !
!midpoints <- function(x) { !!scores <- getRatingLayer(x) !!mid <- getScaleMidpoint(x) !!sum(scores == mid)!
}!!midpoints(bell2010)!
Calculate the Slater distance for all grids bewteen the elements
„A party I would vote for“ and
„The Green Party (Grüne)“
Task
slater <- lapply(x, distanceSlater, out=F)!sapply(slater , function(x) x[1,6])!
ma
rkh
ec
kma
nn
.gith
ub
.co
m/
Op
en
Re
pG
rid/
Writing a report
out now!
Creating reports for OpenRepGrid
+ RStudio
Using R markdown
• Markdown is a lightweight language to structure a document
• R code chunks can be directly included • Include R code between the following
tags
```{r} # Some R Code here ```
Press to generate document
Insert tags
Want to participate?
You have suggestions or ideas?
Just get in touch!
Literature
• Fransella, F., Bell, R. C., & Bannister, D. (2004). A manual for repertory grid technique (2nd ed.). Chichester: John Wiley & Sons.
• Fromm, M. (2009). Grid Software. European Personal Construct Association. Retrieved July 25, 2010, from http://www.epca-net.org/repgrid/software
• Heckmann, M. (2011). OpenRepGrid - An R package for the analysis of repertory grids (Unpublished diploma thesis). University of Bremen, Bremen, Germany.
• Muenchen, R. A. (2011). The Popularity of Data Analysis Software. Retrieved March 28, 2011, from http://sites.google.com/site/r4statistics/popularity
• R Development Core Team. (2011). R: A language and environment for statistical computing. Vienna, Austria: R Foundation for Statistical Computing. ISBN 3-900051-07-0, URL http://www.R-project.org/.