Title: | Apply Generalizability Theory with R |
---|---|
Description: | Estimates variance components, generalizability coefficients, universe scores, and standard errors when observed scores contain variation from one or more measurement facets (e.g., items and raters). |
Authors: | Christopher T. Moore [aut, cre] |
Maintainer: | Christopher T. Moore <[email protected]> |
License: | GPL-3 |
Version: | 0.1.2 |
Built: | 2025-02-11 03:41:31 UTC |
Source: | https://github.com/cran/gtheory |
gtheory
provides functions for estimating variance components, generalizability coefficients, universe scores, and standard errors when observed scores contain variation from one or more measurement facets (e.g., items and raters).
gtheory
was designed to apply univariate and multivariate generalizability (G). Use it to conduct G and decision (D) studies with balanced or unbalanced data. Future releases will provide the means for calculating universe scores under univariate G theory or within strata, as well as universe-score profiles (a.k.a. augmented true scores) and composite scores under multivariate G theory. Functions to find an optimal study design and to calculate conditional error variance are also in the works.
Christopher T. Moore [email protected]
http://EvaluationDashboard.com
Brennan's (2001) table 3.2 (synthetic data set number 4) contains item scores from a person * (rater : task) generalizability (G) study. Note that the data are in long format (one item score per row) and the facets are factors.
Brennan.3.2 |
data frame in long format with a column for item scores and columns for sources of variance |
Brennan, R. L. (2001). Generalizability theory. New York: Springer.
data(Brennan.3.2) head(Brennan.3.2) sapply(Brennan.3.2, class)
data(Brennan.3.2) head(Brennan.3.2) sapply(Brennan.3.2, class)
dstudy
calculates generalizability and dependability coefficients from variance components. It also provides standards errors of measurement and estimation.
dstudy(x, ...) ## S3 method for class 'components' dstudy(x, colname.objects, ...) ## S3 method for class 'gstudy' dstudy(x, colname.objects, data = NULL, colname.scores = NULL, colname.strata = NULL, weights = NULL, ...) ## S3 method for class 'dstudy' dstudy(x, colname.objects, weights = NULL, ...)
dstudy(x, ...) ## S3 method for class 'components' dstudy(x, colname.objects, ...) ## S3 method for class 'gstudy' dstudy(x, colname.objects, data = NULL, colname.scores = NULL, colname.strata = NULL, weights = NULL, ...) ## S3 method for class 'dstudy' dstudy(x, colname.objects, weights = NULL, ...)
x |
an object of class |
... |
ignored |
colname.objects |
a string naming the source of variation for the object of measurement |
data |
an optional data frame in long format with a column for item scores and columns for sources of variance |
colname.scores |
an optional string that specifies the name of the column containing scores |
colname.strata |
an optional string that specifies the name of the column containing strata (if conducting a multivariate G study) |
weights |
an optional numeric vector containg one weight per stratum for composite scoring (if conducting a multivariate G study); defaults to equal weights |
A typical decision (D) study starts with updating variance components from the generalizaiblity (G) with the number of facet levels from the D-study data. D-study data may or may not be the same data collected for the G study. dstudy
will update the variance components when you supply decision data and specify the name of the column identifying objects of measurement. If you do not supply data or specify the score column, then dstudy
will use the G-study variance components (i.e., with all n = 1) and return what is commonly known as intraclass correlation (i.e., the generalizability and dependability of a single observation). If your D-study data are unbalanced (i.e., if the number of facet levels vary from one object of measurement to another), then dstudy
will return an overall components
object based on the median number of levels of the main facet effects and will store object-specific variance components as attributes (i.e., to facilitate scoring).
an object of class "dstudy
" that lists the variance components and corresponding measures of signal and noise (i.e., generalizability and dependability coefficients, universe score variance, relative and absolute error variance, and relative and absolute standard errors of measurement and estimation).
components
: D study of a components
object
gstudy
: D study of gstudy
object
dstudy
: D study of a dstudy
object
Brennan, R. L. (2001). Generalizability theory. New York: Springer.
Rajaratnam, N., Cronbach, L. J., & Gleser, G. C. (1965). Generalizability of stratified-parallel tests. Psychometrika, 30(1), 39-56.
#A univariate D study. #Compare to results on page 116 of Brennan (2001). data(Brennan.3.2) formula.Brennan.3.2 <- "Score ~ (1 | Person) + (1 | Task) + (1 | Rater:Task) + (1 | Person:Task)" gstudy.out <- gstudy(data = Brennan.3.2, formula = formula.Brennan.3.2) dstudy(gstudy.out, colname.objects = "Person", data = Brennan.3.2, colname.scores = "Score") #A multivariate D study. #Compare to results on pages 270-272 of Brennan (2001). data(Rajaratnam.2) formula.Rajaratnam.2 <- "Score ~ (1 | Person) + (1 | Item)" gstudy.out <- gstudy(data = Rajaratnam.2, formula = formula.Rajaratnam.2, colname.strata = "Subtest", colname.objects = "Person") dstudy(gstudy.out, colname.objects = "Person", data = Rajaratnam.2, colname.scores = "Score", colname.strata = "Subtest", weights = c(0.25, 0.5, 0.25))
#A univariate D study. #Compare to results on page 116 of Brennan (2001). data(Brennan.3.2) formula.Brennan.3.2 <- "Score ~ (1 | Person) + (1 | Task) + (1 | Rater:Task) + (1 | Person:Task)" gstudy.out <- gstudy(data = Brennan.3.2, formula = formula.Brennan.3.2) dstudy(gstudy.out, colname.objects = "Person", data = Brennan.3.2, colname.scores = "Score") #A multivariate D study. #Compare to results on pages 270-272 of Brennan (2001). data(Rajaratnam.2) formula.Rajaratnam.2 <- "Score ~ (1 | Person) + (1 | Item)" gstudy.out <- gstudy(data = Rajaratnam.2, formula = formula.Rajaratnam.2, colname.strata = "Subtest", colname.objects = "Person") dstudy(gstudy.out, colname.objects = "Person", data = Rajaratnam.2, colname.scores = "Score", colname.strata = "Subtest", weights = c(0.25, 0.5, 0.25))
gstudy
estimates variance components attributable to objects of measurement (e.g., persons) and facets (e.g., items and raters), as well as unexplained variation.
gstudy(data, ...) ## S3 method for class 'data.frame' gstudy(data, formula, colname.strata = NULL, colname.objects = NULL, keep.mer = F, ...) ## S3 method for class 'univariate' gstudy(data, formula, colname.strata = NULL, colname.objects = NULL, keep.mer = F, ...) ## S3 method for class 'multivariate' gstudy(data, formula, colname.strata = NULL, colname.objects = NULL, keep.mer = F, ...)
gstudy(data, ...) ## S3 method for class 'data.frame' gstudy(data, formula, colname.strata = NULL, colname.objects = NULL, keep.mer = F, ...) ## S3 method for class 'univariate' gstudy(data, formula, colname.strata = NULL, colname.objects = NULL, keep.mer = F, ...) ## S3 method for class 'multivariate' gstudy(data, formula, colname.strata = NULL, colname.objects = NULL, keep.mer = F, ...)
data |
a data frame in long format with a column for item scores and columns for sources of variance |
... |
additional arguments to be passed to |
formula |
a formula specifying the model to be estimated by |
colname.strata |
an optional string that specifies the name of the column containing strata (if conducting a multivariate G study) |
colname.objects |
an optional string that specifies the name of the column containing objects of measurement for calculating observed-score covariance (if conducting a multivariate G study) |
keep.mer |
a logical indicating whether or not to store the output from |
an object of class "gstudy
" that lists variance components of class "components
". It will also list observed-score variance and covariance between strata if you specify the names of the columns identifying strata and objects of measurement.
data.frame
: G study of a data.frame
object
univariate
: G study of a univariate
object
multivariate
: G study of a multivariate
object
Brennan, R. L. (2001). Generalizability theory. New York: Springer.
Rajaratnam, N., Cronbach, L. J., & Gleser, G. C. (1965). Generalizability of stratified-parallel tests. Psychometrika, 30(1), 39-56.
#Conduct a univariate G study. #Compare to results on page 116 of Brennan (2001). data(Brennan.3.2) formula.Brennan.3.2 <- "Score ~ (1 | Person) + (1 | Task) + (1 | Rater:Task) + (1 | Person:Task)" gstudy(data = Brennan.3.2, formula = formula.Brennan.3.2) #Conduct a multivariate G study. #Compare to results on page 270 of Brennan (2001). data(Rajaratnam.2) formula.Rajaratnam.2 <- "Score ~ (1 | Person) + (1 | Item)" gstudy(data = Rajaratnam.2, formula = formula.Rajaratnam.2, colname.strata = "Subtest", colname.objects = "Person")
#Conduct a univariate G study. #Compare to results on page 116 of Brennan (2001). data(Brennan.3.2) formula.Brennan.3.2 <- "Score ~ (1 | Person) + (1 | Task) + (1 | Rater:Task) + (1 | Person:Task)" gstudy(data = Brennan.3.2, formula = formula.Brennan.3.2) #Conduct a multivariate G study. #Compare to results on page 270 of Brennan (2001). data(Rajaratnam.2) formula.Rajaratnam.2 <- "Score ~ (1 | Person) + (1 | Item)" gstudy(data = Rajaratnam.2, formula = formula.Rajaratnam.2, colname.strata = "Subtest", colname.objects = "Person")
Rajaratnam, Cronbach and Gleser's (1965) table 2 contains item scores from a person * (item : subscale) multivariate generalizability (G) study. The same data are found in Brennan (2001) as table 9.1. Note that the data are in long format (one item score per row) and the facets are factors.
Rajaratnam.2 |
data frame in long format with a column for item scores and columns for sources of variance |
Rajaratnam, N., Cronbach, L. J., & Gleser, G. C. (1965). Generalizability of stratified-parallel tests. Psychometrika, 30(1), 39-56.
Brennan, R. L. (2001). Generalizability theory. New York: Springer.
data(Rajaratnam.2) head(Rajaratnam.2) sapply(Rajaratnam.2, class)
data(Rajaratnam.2) head(Rajaratnam.2) sapply(Rajaratnam.2, class)