## ordered with character levels defaults to
## integer position of specified levels
tmp <- ordered(c("mm","cm","m","m","mm","cm"), c("mm","cm","m")) ## size order
tmp
as.numeric(tmp)
levels(tmp)
position(tmp)
as.position(tmp)
## position attribute is assigned to ordered in specified order
tmp <- ordered(c("mm","cm","m","m","mm","cm"), c("mm","cm","m")) ## size order
attr(tmp,"position") <- c(-3, -2, 0) ## log10 assigned in size order
tmp
as.numeric(tmp)
levels(tmp)
position(tmp)
as.position(tmp)
## numeric stays numeric
tmp <- c(0.001, 0.010, 1.000, 1.000, 0.001, 0.010)
tmp
as.numeric(tmp)
levels(tmp)
position(tmp)
as.position(tmp)
## factor with numeric levels, defaults to integer position
tmp <- factor(c(0.001, 0.010, 1.000, 1.000, 0.001, 0.010))
tmp
as.numeric(tmp)
levels(tmp)
position(tmp)
as.position(tmp)
## ordered with numeric levels, defaults to numeric value
tmp <- ordered(c(0.001, 0.010, 1.000, 1.000, 0.001, 0.010)) ## size order
tmp
as.numeric(tmp)
levels(tmp)
position(tmp)
as.position(tmp)
## factor with numeric levels
## position attribute is assigned in size order
tmp <- factor(c(0.001, 0.010, 1.000, 1.000, 0.001, 0.010))
attr(tmp,"position") <- c(-3, -2, 0) ## log10 assigned in size order
tmp
as.numeric(tmp)
levels(tmp)
position(tmp)
as.position(tmp)
## boxplots coded by week
tmp <- data.frame(Y=rnorm(40, rep(c(20,25,15,22), 10), 5),
week=ordered(rep(1:4, 10)))
position(tmp$week) <- c(1, 2, 4, 8)
if.R(r= ## NOT RIGHT YET
bwplot(Y ~ week, horizontal=FALSE,
scales=list(x=list(limits=c(0,9),
at=position(tmp$week),
labels=position(tmp$week))),
data=tmp, panel=panel.bwplot.intermediate.hh)
,s=
t(bwplot(week ~ Y, at=position(tmp$week),
scales=list(y=list(limits=c(0,9),
at=position(tmp$week), labels=position(tmp$week))),
data=tmp, panel=panel.bwplot.intermediate.hh))
)
#### You probably don't want to use the next two examples.
#### You need to be aware of their behavior.
##
## factor with character levels defaults to
## integer position of sorted levels.
## you probably DON'T want to do this!
tmp <- factor(c("mm","cm","m","m","mm","cm")) ## default alphabetic order
tmp
as.numeric(tmp)
levels(tmp)
position(tmp)
as.position(tmp)
##
## position attribute is assigned to factor in default alphabetic order.
## you probably DON'T want to do this!
tmp <- factor(c("mm","cm","m","m","mm","cm"))
attr(tmp,"position") <- c(-3, -2, 0) ## assigned in default alphabetic order
tmp
as.numeric(tmp)
levels(tmp)
position(tmp)
as.position(tmp)
Run the code above in your browser using DataLab