Create multidimensional arrays

Share:

Description

Alternative ways of creating arrays

Convert dataframe to contingency table

Usage

1
2
3
newar(names, levels, values, normalize = "none", smooth = 0)

df2xtabs(indata, names = NULL, normalize = "none", smooth = 0)

Arguments

names

Names of variables defining table; a character vector or a right hand sided formula.

levels

1) a list with specification of the levels of the factors in names or 2) a vector with number of levels of the factors in names. See 'examples' below.

values

values to go into the parray

normalize

Either "none", "first" or "all". Should result be normalized, see 'Details' below.

smooth

Should values be smoothed, see 'Details' below.

indata

A dataframe.

Details

If normalize="first" then for each configuration of all other variables than the first, the probabilities are normalized to sum to one. Thus f(a,b,c) becomes a conditional probability table of the form p(a|b,c). If normalize="all" then the sum over all entries of f(a,b,c) is one.

If smooth is positive then smooth is added to values before normalization takes place.

Value

An array.

Author(s)

Søren Højsgaard, sorenh@math.aau.dk

See Also

arperm, aradd, arprod etc.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
universe <- list(gender=c('male','female'),
                 answer=c('yes','no'),
                 rain=c('yes','no'))
t1 <- newar(c("gender","answer"), levels=universe, values=1:4)
t1
t2 <- newar(~gender:answer, levels=universe, values=1:4)
t2
t3 <- newar(~gender:answer, c(2,2), values=1:4)
t3

## Extract arrays from dataframe (much like xtabs() but with more flexibility)
data(cad1) 
df2xtabs(cad1, ~Sex:AngPec:AMI)
df2xtabs(cad1, c("Sex","AngPec","AMI"))
df2xtabs(cad1, c(1,2,3))

## Extract arrays from dataframe (much like xtabs() but with more flexibility)
data(cad1) 
df2xtabs(cad1, ~Sex:AngPec:AMI)
df2xtabs(cad1, c("Sex","AngPec","AMI"))
df2xtabs(cad1, c(1,2,3))

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.