blackbox {basicspace}  R Documentation 
blackbox
is a function that takes a matrix of survey data in which individuals
place themselves on continuous scales across multiple issues, and locates those
citizens in a spatial model of voting. Mathematically, this function generalizes
the singular value of a matrix to cases in which there is missing data in the
matrix. Scales generated using perceptual data (i.e. scales of legislator locations
using liberalconservative rankings by survey respondents) should instead use
the blackbox_transpose
function in this package instead.
blackbox(data,missing=NULL,verbose=FALSE,dims=1,minscale)
data 
matrix of numeric values containing the issue scale data. Respondents should be organized on rows, and stimuli on columns. It is helpful, though not necessary, to include row names and column names. 
missing 
vector or matrix of numeric values, sets the missing values for the data. NA values are always treated as missing regardless of what is set here. Observations with missing data are discarded before analysis. If input is a vector, then the vector is assumed to contain the missing value codes for all the data. If the input is a matrix, it must be of dimension p x q, where p is the maximum number of missing values and q is the number of columns in the data. Each column of the inputted matrix then specifies the missing data values for the respective variables in data. If null (default), no missing values are in the data other than the standard NA value. 
verbose 
logical, indicates whether 
dims 
integer, specifies the number of dimensions to be estimated. 
minscale 
integer, specifies the minimum number of responses a respondent needs needs to provide to be used in the scaling. 
An object of class blackbox
.
stimuli 
vector of data frames of length dims. Each data frame presents results for estimates from that dimension (i.e. x$stimuli[[2]] presents results for dimension 2). Each row contains data on a separate stimulus, and each data frame includes the following variables:

individuals 
vector of data frames of length dims. Each data frame presents results for estimates from that dimension (i.e. x$stimuli[[2]] presents results for dimension 2). Individuals that are discarded from analysis due to the minscale constraint are NA'd out. Each row contains data on a separate stimulus, and each data frame includes the following variables:

fits 
A data frame of fit results, with elements listed as follows: 
SSE
Sum of squared errors.
SSE.explained
Explained sum of squared error.
percent
Percentage of total variance explained.
SE
Standard error of the estimate, with formula provided on pg. 973 of the article cited below.
singular
Singluar value for the dimension.
Nrow 
Number of rows/stimuli. 
Ncol 
Number of columns used in estimation. This may differ from the data set due to columns discarded due to the minscale constraint. 
Ndata 
Total number of data entries. 
Nmiss 
Number of missing entries. 
SS_mean 
Sum of squares grand mean. 
dims 
Number of dimensions estimated. 
Keith Poole ktpoole@uga.edu
Howard Rosenthal hr31@nyu.edu
Jeffrey Lewis jblewis@ucla.edu
James Lo lojames@usc.edu
Royce Carroll rcarroll@rice.edu
Keith Poole, Jeffrey Lewis, Howard Rosenthal, James Lo, Royce Carroll (2016) “Recovering a Basic Space from Issue Scales in R.” Journal of Statistical Software. 69(7), 1–21. doi:10.18637/jss.v069.i07
Keith T. Poole (1998) “Recovering a Basic Space From a Set of Issue Scales.” American Journal of Political Science. 42(3), 954993.
'Issues1980', 'summary.blackbox', 'plot.blackbox'.
### Loads issue scales from the 1980 NES.
data(Issues1980)
Issues1980[Issues1980[,"abortion1"]==7,"abortion1"] < 8 #missing recode
Issues1980[Issues1980[,"abortion2"]==7,"abortion2"] < 8 #missing recode
### This command conducts estimates, which we instead load using data()
# Issues1980_bb < blackbox(Issues1980,missing=c(0,8,9),verbose=FALSE,dims=3,minscale=8)
data(Issues1980_bb)
summary(Issues1980_bb)