Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

scoreWtd

Score items using regression or correlation based weights


Description

Item weights from bestScales or setCor are used to find weighted scale scores. In contrast to the unit weights used in scoreItems, scoreWtd will multiply the data by a set of weights to find scale scores. These weight may come from a regression (e.g., lm or setCor) or may be the zero order correlation weights from bestScales.

Usage

scoreWtd(weights, items, std = TRUE, sums = FALSE, impute = "none")

Arguments

weights

This is just a matrix of weights to use for each item for each scale.

items

Matrix or dataframe of raw item scores

std

if TRUE, then find weighted standard scores else just use raw data

sums

By default, find the average item score. If sums = TRUE, then find the sum scores. This is useful for regression with an intercept term

impute

impute="median" replaces missing values with the item medians, impute = "mean" replaces values with the mean response. impute="none" the subject's scores are based upon the average of the keyed, but non missing scores. impute = "none" is probably more appropriate for a large number of missing cases (e.g., SAPA data).

Details

Although meant for finding correlation weighted scores using the weights from bestScales, it also possible to use alternative weight matrices, such as those returned by the coefficients in lm.

Value

A data frame of scores.

Author(s)

William Revelle

See Also

Examples

#find the weights from a regression model and then apply them to a new set
#derivation of weights from the first 20 cases 
model.lm <- lm(rating ~ complaints + privileges + learning,data=attitude[1:20,])
#or use setCor to find the coefficents
model <- setCor(rating ~ complaints + privileges +learning,data=attitude[1:20,],std=FALSE)
 
 #Apply these to a different set of data (the last 10 cases)
  #note that the regression coefficients need to be a matrix
  scores.lm <- scoreWtd(as.matrix(model.lm$coefficients),attitude[21:30,],sums=TRUE,std=FALSE)
scores <- scoreWtd(model$coefficients,attitude[21:30,],sums=TRUE,std=FALSE)
describe(scores)

psych

Procedures for Psychological, Psychometric, and Personality Research

v2.1.3
GPL (>= 2)
Authors
William Revelle [aut, cre] (<https://orcid.org/0000-0003-4880-9610>)
Initial release
2021-03-21

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.