qmethod (version 1.5.5)

qmethod: Q methodology analysis

Description

This function performs a full Q method analysis using principal components analysis (see Notes). The main results are factor characteristics, statement z-scores and factor scores, and distinguishing and consensus statements.

Usage

qmethod(dataset, nfactors, rotation = "varimax", forced = TRUE, 
        distribution = NULL, cor.method = "pearson",
        silent = FALSE, ...)

Arguments

dataset

a matrix or a data frame containing original data, with statements as rows, Q-sorts as columns, and the column scores in the distribution in each cell. The matrix or data frame should not contain character strings. The results keep row names and column names if set in the dataset (see 'Details').

nfactors

number of factors to extract.

rotation

rotation method, defaults to "varimax". Other possible rotations allowed in principal function can be used: "none", "varimax", "quartimax", "promax", "oblimin", "simplimax", and "cluster".

forced

logical; Is the ranking of the items forced to match the distributions? Set to TRUE if all respondents ranked the items strictly following the distribution scores, in which case the values of the distribution are calculated automatically. Set to FALSE if respondents were able to rank the items without following the distribution, and the values of the distribution have to be provided as an array in the argument distribution. See more details below in 'Notes' number 2.

distribution

logical; when forced = FALSE, the distribution has to be provided as a vector of numbers, such as c(-2, -1, -1, 0, 1, 1, 2, 2). See more details below in 'Notes' number 2.

cor.method

character string indicating which correlation coefficient is to be computed, to be passed on to the function cor: "pearson" (default), "kendall", or "spearman".

silent

logical; when = TRUE, a summary message is printed.

...

other parameters to pass to functions such as principal

Value

Returns a list of class QmethodRes, with eight objects:

brief

a list with the basic values of the analysis: date ("date"), number of statements ("nstat"), number of Q-sorts ("nqsort"), whether the distribution was 'forced' ("distro"), number of factors extracted ("nfactors"), type or rotation ("rotation"), method for correlation in the PCA ("cor.method"), and a summary of this information for display purposes ("info").

dataset

original data.

loa

factor loadings for Q-sorts.

flagged

logical dataframe of flagged Q-sorts.

zsc

statements z-scores.

zsc_n

statements factor scores, matched to the ordered array of values in the first row of the dataset.

f_char

factor characteristics (see qfcharact):

  • "characteristics": data frame with the following values for each factor: average reliability coefficient, number of loading Q-sorts, eigenvalues, percentage of explained variance, composite reliability, standard error of factor scores.

  • "cor_zsc": matrix of correlation coefficients between factors z-scores.

  • "sd_dif": matrix of standard errors of differences.

qdc

distinguishing and consensus statements (see qdc).

Details

This function wraps together all the steps required for a complete analysis: extracting component loadings (principal); flagging Q-sorts (qflag); calculating weights, z-scores, and rounded scores (qzscores), calculating general characteristics (qfcharact), and finding distinguishing and consensus statements (qdc).

The default qmethod performs automatic flagging and uses varimax rotation. Varimax rotation can be replaced by other methods for rotation allowed in principal from psych package.

If the input data contains row names and variable names, these will be kept throughout the analysis. Input data is validated, and it will give an error if there are non numerical values or either if the number of statements and Q-sorts introduced does not match the input data. It also returns error if the argument forced is set to TRUE but Q-sorts contain differing distributions.

References

Zabala, A., 2014. qmethod: a package to analyse human perspectives using Q methodology. The R Journal, 6(2):163-173. Available from: https://journal.r-project.org/archive/2014-2/zabala.pdf (Open access).

Brown, S. R., 1980 Political subjectivity: Applications of Q methodology in political science, New Haven, CT: Yale University Press.

See further references on the methodology in qmethod-package.

See Also

principal in package psych

Examples

# NOT RUN {
data(lipset)
results <- qmethod(lipset[[1]], nfactors = 3, rotation = "varimax")
summary(results)
results #shows all results
# }