This package performs the analysis of Q methodology data using principal components analysis, varimax rotation (replaceable by other rotations allowed in principal
), and automatic flagging (manual flagging is optional).
The following steps of the analysis correspond to separate functions: factor loadings for Q-sorts, automatic flagging of Q-sorts (qflag
), z-scores and factor scores for statements (qzscores
), distinguishing and consensus statements (qdc
), and general characteristics of the factors (qfcharact
).
The function qmethod
wraps them all.
The functions for each step may be used separately for advanced analysis, for example, for manual flagging (see details in qzscores
).
The package also includes additional functions for the following:
import.pqmethod
).export.qm
).print.QmethodRes
andplot.QmethodRes
Q method results.make.cards
produces a PDF with full item wording and codes, ready for printout on business card templates that can be easily broken into individual Q-cards.import.q.sorts
)import.q.feedback
)import.q.concourse
)build.q.set
)q.fnames
).help(package="qmethod")
for a list of all the functions. In addition, the optional functions to import raw data from separate *.CSV files (import.q.sorts
, import.q.concourse
, build.q.set
, import.q.feedback
) and the card printing function (make.cards
) refer to items in three distinct ways:
import.q.concourse
.
The wording is not passed on to any other function, but can be readily retrieved from the object returned fromimport.q.concourse
."life-with-q"
).
Item handles areresearcher-facingand can be used to refer to items during dataanalysis.
They are read in from thefilenamesof individual *.TEX files when usingimport.q.concourse
.
Handles can be used to identify items in other functions and their outputs.
For example, the resulting array or matrix fromimport.q.sorts
carries these handles as row names.qmethod
or can be provided by the user using the respectivemanual.lookup
arguments inmake.cards
,import.q.sorts
andimport.q.feedback
.
See the documentation of these functions for details.make.cards
,import.q.sorts
andimport.q.feedback
if the argumentmanual.lookup
remains empty and defaults toNULL
.
In that case, IDs are computed by 'summarising' the full item wordings (e.g.
"Q Method is used by a crazy, but charming community ...") into a hexadecimal number (e.g. "ae128fs"), a process known as cryptographichashing(for more details seedigest
)).
These hash values change wheneveranythingin the full item wordings is changed, and allow a precise identification of different versions of an item.
This function never exposes users to the hash values.
Automatic, hashed IDs are generally recommended and easier to use, but some caveats apply (seemake.cards
). import.q.sorts
, import.q.concourse
, build.q.set
, import.q.feedback
and the print function make.cards
require a nested directory structure in the study folder. An example of such structure can be found in ../qmethod/extdata/importexample
.
Although recommended for complex studies, this structure is not necessary for using the data analysis functions or for exploring and exporting results.
If the suggested file structure is followed, the subdirectories for (within-subjects) conditions and languages are optional, and need to be used only if there are more than one condition and language, respectively.
In such case, the arguments conditions
and languages
for the above import functions must be specified accordingly.
For more information on the file structure and the rationale behind it, consider the best practices suggested by Maximilian Held on the
data(lipset)
results <- qmethod(lipset[[1]], nfactors = 3, rotation = "varimax")
summary(results)
results
Run the code above in your browser using DataLab