items memisc 0.99.20.1

Survey Items

Description

Objects of class item are data vectors with additional information attached to them like ‘’value labels’’ and ‘’user-defined missing values’’ known from software packages like SPSS or Stata.

Usage

## The constructor for objects of class "item"
## more convenient than new("item",...)
## S4 method for signature 'numeric'
as.item(x,
  labels=NULL,  missing.values=NULL,
  valid.values=NULL,  valid.range=NULL,
  value.filter=NULL,  measurement=NULL,
  annotation=attr(x,"annotation"), ...
  )
## S4 method for signature 'character'
as.item(x,
  labels=NULL,  missing.values=NULL,
  valid.values=NULL,  valid.range=NULL,
  value.filter=NULL,  measurement=NULL,
  annotation=attr(x,"annotation"), ...
  )

## S4 method for signature 'logical'
as.item(x,...)
# x is first coerced to integer,
# arguments in ... are then passed to the "numeric"
# method.

## S4 method for signature 'factor'
as.item(x,...)
## S4 method for signature 'ordered'
as.item(x,...)
## S4 method for signature 'POSIXct'
as.item(x,...)

## S4 method for signature 'double.item'
as.item(x,
  labels=NULL,  missing.values=NULL,
  valid.values=NULL,  valid.range=NULL,
  value.filter=NULL,  measurement=NULL,
  annotation=attr(x,"annotation"), ...
  )

## S4 method for signature 'integer.item'
as.item(x,
  labels=NULL,  missing.values=NULL,
  valid.values=NULL,  valid.range=NULL,
  value.filter=NULL,  measurement=NULL,
  annotation=attr(x,"annotation"), ...
  )

## S4 method for signature 'character.item'
as.item(x,
  labels=NULL,  missing.values=NULL,
  valid.values=NULL,  valid.range=NULL,
  value.filter=NULL,  measurement=NULL,
  annotation=attr(x,"annotation"), ...
  )

## S4 method for signature 'datetime.item'
as.item(x,
  labels=NULL,  missing.values=NULL,
  valid.values=NULL,  valid.range=NULL,
  value.filter=NULL,  measurement=NULL,
  annotation=attr(x,"annotation"), ...
  )

Arguments

x

for as.item methods, any atomic vector; for the as.character, as.factor, as.integer, as.double, a vector with class "item"; for the unique, summary, str, print, [, and <- methods, a vector with class labelled.

labels

a named vector of the same mode as x.

missing.values

either a vector of the same mode as x, or a list with components "values", vector of the same mode as x (which defines individual missing values) and "range" a matrix with two rows with the same mode as x (which defines a range of missing values), or an object of class "missing.values".

valid.values

either a vector of the same mode as x, defining those values of x that are to be considered as valid, or an object of class "valid.values".

valid.range

either a vector of the same mode as x and length 2, defining a range of valid values of x, or an object of class "valid.range".

value.filter

an object of class "value.filter", that is, of classes "missing.values", "valid.values", or "valid.range".

measurement

level of measurement; one of “nominal”, “ordinal”, “interval”, or “ratio”.

annotation

a named character vector, or an object of class "annotation"

...

further arguments, ignored.

See also

annotation labels value.filter

Examples

x <- as.item(rep(1:5,4),
   labels=c(
       "First"      = 1,
       "Second"     = 2,
       "Third"      = 3,
       "Fourth"     = 4,
       "Don't know" = 5
     ),
   missing.values=5,
   annotation = c(
     description="test"
   ))
str(x)
Nmnl. item w/ 5 labels for 1,2,3,... + ms.v.  int [1:20] 1 2 3 4 5 1 2 3 4 5
  ...
summary(x)
First      Second       Third      Fourth *Don't know
    4           4           4           4           4
as.numeric(x)
[1]  1  2  3  4 NA  1  2  3  4 NA  1  2  3  4 NA  1  2  3  4 NA
test <- as.item(rep(1:6,2),labels=structure(1:6,
                                   names=letters[1:6]))
test
Item (measurement: nominal, type: integer, length = 12)

 [1:12] a b c d e f a b c d e f
test == 1
[1]  TRUE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE
test != 1
[1] FALSE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE
test == "a"
[1]  TRUE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE
test != "a"
[1] FALSE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE
test == c("a","z")
[1]  TRUE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE
test != c("a","z")
[1] FALSE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE
test
Item (measurement: nominal, type: integer, length = 12)

 [1:12] a b c d e f a b c d e f
test
Item (measurement: nominal, type: integer, length = 12)

 [1:12] a b c d e f a b c d e f
codebook(test)
================================================================================

   test

--------------------------------------------------------------------------------

   Storage mode: integer
   Measurement: nominal

   Values and labels    N    Percent

             1   'a'    2   16.7
             2   'b'    2   16.7
             3   'c'    2   16.7
             4   'd'    2   16.7
             5   'e'    2   16.7
             6   'f'    2   16.7
Test <- as.item(rep(letters[1:6],2),
                 labels=structure(letters[1:6],
                                  names=LETTERS[1:6]))
Test
Item (measurement: nominal, type: character, length = 12)

 [1:12] A B C D E F A B C D E F
Test == "a"
[1]  TRUE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE
Test != "a"
[1] FALSE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE
Test == "A"
[1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
Test != "A"
[1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
Test == c("a","z")
[1]  TRUE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE
Test != c("a","z")
[1] FALSE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE
Test
Item (measurement: nominal, type: character, length = 12)

 [1:12] A B C D E F A B C D E F
Test
Item (measurement: nominal, type: character, length = 12)

 [1:12] A B C D E F A B C D E F
as.factor(test)
 [1] a b c d e f a b c d e f
Levels: a b c d e f
as.factor(Test)
 [1] A B C D E F A B C D E F
Levels: A B C D E F
as.numeric(test)
[1] 1 2 3 4 5 6 1 2 3 4 5 6
as.character(test)
[1] "a" "b" "c" "d" "e" "f" "a" "b" "c" "d" "e" "f"
as.character(Test)
[1] "A" "B" "C" "D" "E" "F" "A" "B" "C" "D" "E" "F"
as.data.frame(test)[[1]]
 [1] a b c d e f a b c d e f
Levels: a b c d e f