| Topo | R Documentation |
Given two or more factors Topo creates an interaction factor
as specified by an array of levels, which may be arbitrarily
structured.
Topo(..., spec = NULL)
... |
two or more factors |
spec |
an array of levels, with dimensions corresponding to the number of levels of each factor in the interaction |
A factor of levels extracted from the levels array given in
spec, using the given factors as index variables.
David Firth
Erikson, R., Goldthorpe, J. H. and Portocarero, L. (1982) Social Fluidity in Industrial Nations: England, France and Sweden. Brit. J. Sociol. 33(1), 1-34.
Xie, Y. (1992) The Log-multiplicative Layer Effect Model for Comparing Mobility Tables. Am. Sociol. Rev. 57(3), 380-395.
Symm and Diag for special cases
set.seed(1)
### Collapse to 7 by 7 table as in Erikson (1982)
erikson <- as.data.frame(erikson)
lvl <- levels(erikson$origin)
levels(erikson$origin) <- levels(erikson$destination) <-
c(rep(paste(lvl[1:2], collapse = " + "), 2), lvl[3],
rep(paste(lvl[4:5], collapse = " + "), 2), lvl[6:9])
erikson <- xtabs(Freq ~ origin + destination + country, data = erikson)
### Create array of interaction levels as in Table 2 of Xie (1992)
levelMatrix <- matrix(c(2, 3, 4, 6, 5, 6, 6,
3, 3, 4, 6, 4, 5, 6,
4, 4, 2, 5, 5, 5, 5,
6, 6, 5, 1, 6, 5, 2,
4, 4, 5, 6, 3, 4, 5,
5, 4, 5, 5, 3, 3, 5,
6, 6, 5, 3, 5, 4, 1), 7, 7, byrow = TRUE)
### Fit the levels models given in Table 3 of Xie (1992)
## Null association between origin and destination
nullModel <- gnm(Freq ~ country:origin + country:destination,
family = poisson, data = erikson)
## Interaction specified by levelMatrix, common to all countries
commonTopo <- update(nullModel, ~ . +
Topo(origin, destination, spec = levelMatrix))
## Interaction specified by levelMatrix, different multiplier for
## each country
multTopo <- update(nullModel, ~ . +
Mult(Exp(country),
Topo(origin, destination, spec = levelMatrix)))
## Interaction specified by levelMatrix, different effects for
## each country
separateTopo <- update(nullModel, ~ . +
country:Topo(origin, destination,
spec = levelMatrix))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.