Section 8 Factor: Operation
8.1 Operation on Factor
Example vector: x <- rep(c('L','M','H'), length=30)
Function | Explanation | Example |
---|---|---|
relevel |
Set the first (reference) level of a factor | relevel(x, ref=High) |
factor |
Convert a vector to factor, re-order, re-label levels of a factor | factor(x=x, levels=c(L,M,H), labels=c(Low,Med,High)) |
as.numeric |
Convert the factor levels to numeric values | as.numeric(x) |
is.factor |
Is a vector factor | is.factor(x) |
:, interaction |
Cross-classify factors | interaction(x,y) |
gl |
Make a factor by generating equal sized levels | gl(n=3, k=10, labels=c(Low,Med,High), ordered=FALSE) |
cut |
Make a factor by cutting a vector a given break points | cut(x=c(1:20), breaks=c(5,10,15), inc=TRUE, right=FALSE) |
8.2 Example
x <- c(rep('L',times=4), rep('M',times=10), rep('H',times=6))
fx <- factor(x=x, levels=c('L','M','H'), labels=c('Low','Med','High'))
levels(fx)
table(fx)
f1x <- factor(x=x, levels=c('M','H','L'))
levels(f1x)
table(f1x)
f2x <- factor(x=x, labels=c('Underweight','Normal','Obese'))
levels(f2x)
table(f2x)
z <- rep(c('T1','T2'), length=20)
fz <- as.factor(z)
levels(fx)
levels(fz)
fx:fz
interaction(fz,fx)
levels(fx)
fm <- relevel(fx, ref='High')
levels(fm)
fx <- gl(n=3, k=10, labels=c('Low','Med','High'), ordered=FALSE)
fx
table(fx)
cut(x=c(1:20), breaks=c(5,10,15), inc=TRUE, right=FALSE)
s <- sample(1:100, size=20, replace=TRUE)
gs <- cut(s, breaks=quantile(s), inc=TRUE)
table(gs)