Calculates factor characteristics, z-scores, and factor scores, provided a matrix of loadings and a matrix of (manually or automatically) flagged Q-sorts.

```
qzscores(dataset, nfactors, loa, flagged, forced = TRUE,
distribution = NULL)
```

dataset

a matrix or a data frame containing raw data, with statements as rows, Q-sorts as columns, and the column scores in the distribution in each cell.

nfactors

number of factors to extract.

loa

matrix or data frame of `nqsorts`

rows and `nfactors`

columns, with values of factor loadings for Q-sorts, calculated using, e.g., `principal(...)$loadings`

.

flagged

matrix or data frame of `nqsorts`

rows and `nfactors`

columns, with `TRUE`

values for the Q-sorts that are flagged. Automatic flagging can be aplied using `qflag`

. Manual flagging can be done by providing a logical matrix with `nqsorts`

rows and `nfactors`

columns to the argument `flagged`

.

forced

logical; Is the distribution of items forced? Set to `TRUE`

if all respondents ranked the items following strictly the distribution scores, and 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`

.

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)`

.

Returns a list of class `QmethodRes`

, with seven objects:

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"`

).

original data.

factor loadings for Q-sorts.

logical dataframe of flagged Q-sorts.

statements z-scores.

statements rounded scores, rounded to the values in the first row of the original dataset.

factor characteristics obtained from `qfcharact`

.

In order to implement manual flagging, use a manually created data frame for `flagged`

. See an example of code to perform manual flagging or to manipulate the loadings in https://github.com/aiorazabala/qmethod/wiki/Advanced-analysis.

The loadings from `principal(...)$loadings`

can be explored to decide upon flagging. The `loa`

data frame should have Q-sorts as rows, and factors as columns, where `TRUE`

are the flagged Q-sorts.

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`

.

# NOT RUN { data(lipset) library(psych) loa <- as.data.frame(unclass(principal(lipset[[1]], nfactors = 3, rotate = "varimax")$loadings)) flagged <- qflag(nstat = 33, loa = loa) qmzsc <- qzscores(lipset[[1]], nfactors = 3, flagged = flagged, loa = loa) qmzsc # Show results # }

Run the code above in your browser using DataCamp Workspace