<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><title>R: The Fischer-Scheiblechner Statistic S on item level (Wald...</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="https://rpkg.net/assets/examples.css" />
</head><body>

<table width="100%" summary="page for pairwise.S"><tr><td>pairwise.S</td><td style="text-align: right;">R Documentation</td></tr></table>

<h2>The Fischer-Scheiblechner Statistic S on item level (Wald like Test)</h2>

<h3>Description</h3>

<p>This function calculates the S-statistic on item level proposed by Fischer and Scheiblechner (1970) on item level for dicho- or polytomous item response formats by splitting the data into two subsamples. For polytomous Items the test is performed on item category level. Several splitting options are available (see arguments). The S-statistic is also mentioned in van den Wollenberg, (1982) &ndash; an article in Psychometrika, which might be available more easily (see details).
</p>


<h3>Usage</h3>

<pre>
pairwise.S(
  daten,
  m = NULL,
  split = "random",
  splitseed = "no",
  verbose = FALSE,
  ...
)
</pre>


<h3>Arguments</h3>

<table summary="R argblock">
<tr valign="top"><td><code>daten</code></td>
<td>
<p>a data.frame or matrix with optionaly named colums (names of items), potentially with missing values, comprising polytomous or dichotomous (or mixed category numbers) responses of <code>n</code> respondents (rows) on <code>k</code> items (colums) coded starting with 0 for lowest category to <em>m</em>-1 for highest category, with <em>m</em> beeing a vector (with length k) with the number of categories for the respective item.</p>
</td></tr>
<tr valign="top"><td><code>m</code></td>
<td>
<p>an integer (will be recycled to a vector of length k) or a vector giving the number of response categories for all items - by default <code>m = NULL</code>, <code>m</code> is calculated from data, assuming that every response category is at least once present in data. For sparse data it is strongly recomended to explicitly define the number of categories by defining this argument.</p>
</td></tr>
<tr valign="top"><td><code>split</code></td>
<td>
<p>Specifies the splitting criterion. Basically there are three different options available - each with several modes - which are controlled by passing the corresponding character expression to the argument. 
</p>
<p>1) Using the rawscore for splitting into subsamples with the following modes: <code>split = "median"</code> median raw score split - high score group and low score group; <code>split = "mean"</code> mean raw score split - high score group and low score group.
</p>
<p>2) Dividing the persons in <code>daten</code> into subsamples with equal size by random allocation with the following modes: <code>split = "random"</code> (which is equivalent to <code>split = "random.2"</code>) divides persons into two subsamples with equal size. In general the number of desired subsamples must be expressed after the dot in the character expression - e.g. <code>split = "random.6"</code> divides persons into 6 subsamples (with equal size) by random allocation etc.
</p>
<p>3) The third option is using a manifest variable as a splitting criterion. In this case a vector with the same length as number of cases in <code>daten</code> must be passed to the argument grouping the data into subsamples. This vector should be coded as <code>"factor"</code> or a <code>"numeric"</code> integer vector with min = 1.</p>
</td></tr>
<tr valign="top"><td><code>splitseed</code></td>
<td>
<p>numeric, used for <code>set.seed(splitseed)</code> for random splitting - see argument <code>split</code>.</p>
</td></tr>
<tr valign="top"><td><code>verbose</code></td>
<td>
<p>logical, if <code>verbose = TRUE</code> (default) a message about subsampling is sent to console when calculating standard errors.</p>
</td></tr>
<tr valign="top"><td><code>...</code></td>
<td>
<p>additional arguments <code>nsample</code>, <code>size</code>, <code>seed</code>, <code>pot</code> for caling <code>pairSE</code> are passed through - see description for <code>pairSE</code>.</p>
</td></tr>
</table>


<h3>Details</h3>

<p>The data is splitted in two subsamples and then item thresholds, the parameter (Sigma) and their standard errors (SE) for the items according the PCM (or RM in case of dichotonimies) are calculated for each subsample. This function internaly calls the function <code>pairSE</code>. Additional arguments (see description of function <code>pairSE</code>) for parameter calculation are passed through.
This item fit statistic is also (perhaps misleadingly) namend as 'Wald test' in other R-packages. The S-statistic, as implemented in <code>pairwise</code>, is defined according to Fischer and Scheiblechner (1970); see also equation (3) in van den Wollenberg, (1982), p. 124 in the following equation:
</p>
<p style="text-align: center;"><i> { S }_{ i }=\frac { { \hat { &sigma;  }  }^{ (1) }_{ i }-{ \hat { &sigma;  }  }^{ (2) }_{ i } }{  &radic; { { &le;ft( { { S } }^{ (1) }_{ \hat { &sigma;  } _{ i } } \right)  }^{ 2 }+{ &le;ft( { { S } }^{ (2) }_{ \hat { &sigma;  } _{ i } } \right)  }^{ 2 }   } }  </i></p>

<p>where <i>{\hat { &sigma;  }  }^{ (1) }_{ i }</i> is the estimate of the item parameter of subsample 1, <i>{\hat { &sigma;  }  }^{ (2) }_{ i }</i> is the estimate of the item parameter of subsample 2 and <i> { S }^{ (1) }_{ \hat { &sigma;  } _{ i } }</i> and <i> { S }^{ (2) }_{ \hat { &sigma;  } _{ i } }</i> are the respective standard errors.
In Fischer (1974), p. 297, the resulting test statistic (as defined above) is labeled with <i>Z_i</i>, as it is asymtotically normally distributed. Contrary to the 'Wald-type' test statistic <i>W_i</i>, which was drived by Glas and Verhelst (2005) from the (general) <i>&chi;^2</i> distributed test of statistical hypotheses concerning several parameters, which was introduced by Wald (1943).
</p>


<h3>Value</h3>

<p>A (list) object of class <code>"pairS"</code> containing the test statistic and item difficulty parameter sigma and their standard errors for the two or more subsamples.
</p>


<h3>A note on standard errors</h3>

<p>Estimation of standard errors is done by repeated calculation of item parameters for subsamples of the given data. This procedure is mainly controlled by the arguments <code>nsample</code> and <code>size</code> (see arguments in <code>pairSE</code>). With regard to calculation time, the argument <code>nsample</code> is the 'time killer'. On the other hand, things (estimation of standard errors) will not necessarily get better when choosing large values for <code>nsample</code>. For example choosing <code>nsample=400</code> will only result in minimal change for standard error estimation in comparison to (<code>nsample=30</code>) which is the default setting (see examples).
</p>


<h3>References</h3>

<p>description of function <code>pairSE</code><code>{pairwise}</code>.
</p>
<p>Fischer, G. H., &amp; Scheiblechner, H. (1970). Algorithmen und Programme fuer das probabilistische Testmodell von Rasch. <em>Psychologische Beitrage</em>, (12), 23â€“51.
</p>
<p>van den Wollenberg, A. (1982). Two new test statistics for the rasch model. <em>Psychometrika, 47</em>(2), 123â€“140. https://doi.org/10.1007/BF02296270
</p>
<p>Glas, C. A. W., &amp; Verhelst, N. D. (1995). <em>Testing the Rasch Model</em>. In G. Fischer &amp; I. Molenaar (Eds.), Rasch models: Foundations, recent developments, and applications. New York: Springer.
</p>
<p>Wald, A. (1943). Tests of statistical hypotheses concerning several parameters when the number of observations is large. <em>Transactions of the American Mathematical Society, 54</em>(3), 426â€“482. https://doi.org/10.1090/S0002-9947-1943-0012401-3
</p>
<p>Fischer, G. H. (1974). <em>EinfÃ¼hrung in die Theorie psychologischer Tests</em>. Bern: Huber.
</p>


<h3>Examples</h3>

<pre>
##########
data("kft5")
S_ran_kft &lt;- pairwise.S(daten = kft5,m = 2,split = "random")
summary(S_ran_kft)
summary(S_ran_kft,thres = FALSE)
#### polytomous examples
data(bfiN) # loading example data set
data(bfi_cov) # loading covariates to bfiN data set

# calculating itemparameters and SE for two subsamples by gender
S_gen &lt;- pairwise.S(daten=bfiN, split = bfi_cov$gender)
summary(S_gen)
summary(S_gen,thres = FALSE)

# other splitting criteria
## Not run: 
S_med &lt;- pairwise.S(daten=bfiN, split = "median")
summary(S_med)

S_ran&lt;-pairwise.S(daten=bfiN, split = "random")
summary(S_ran)

S_ran.4&lt;-pairwise.S(daten=bfiN, split = "random.4")
summary(S_ran.4) # currently not displayed

###### example from details section 'Some Notes on Standard Errors' ########
S_def&lt;-pairwise.S(daten=bfiN, split = "random",splitseed=13)
summary(S_def)
######
S_400&lt;-pairwise.S(daten=bfiN, split = "random", splitseed=13 ,nsample=400)
summary(S_400) 

## End(Not run)

</pre>


</body></html>
