wants <- c("DescTools")
has <- wants %in% rownames(installed.packages())
if(any(!has)) install.packages(wants[!has])sex <- c("m", "f", "f", "m", "m", "m", "f", "f")
(sexFac <- factor(sex))[1] m f f m m m f f
Levels: f mfactor(c(1, 1, 3, 3, 4, 4), levels=1:5)[1] 1 1 3 3 4 4
Levels: 1 2 3 4 5(sexNum <- rbinom(10, size=1, prob=0.5)) [1] 0 0 0 0 0 1 1 0 1 0factor(sexNum, labels=c("man", "woman")) [1] man man man man man woman woman man woman man
Levels: man womanlevels(sexFac) <- c("female", "male")
sexFac[1] male female female male male male female female
Levels: female male(fac1 <- factor(rep(c("A", "B"), c(5, 5)))) [1] A A A A A B B B B B
Levels: A B(fac2 <- gl(2, 5, labels=c("less", "more"), ordered=TRUE)) [1] less less less less less more more more more more
Levels: less < moresample(fac2, length(fac2), replace=FALSE) [1] less more more less more less less less more more
Levels: less < moreexpand.grid(IV1=gl(2, 2, labels=c("a", "b")), IV2=gl(3, 1)) IV1 IV2
1 a 1
2 a 1
3 b 1
4 b 1
5 a 2
6 a 2
7 b 2
8 b 2
9 a 3
10 a 3
11 b 3
12 b 3nlevels(sexFac)[1] 2summary(sexFac)female male
4 4 levels(sexFac)[1] "female" "male" str(sexFac) Factor w/ 2 levels "female","male": 2 1 1 2 2 2 1 1unclass(sexFac)[1] 2 1 1 2 2 2 1 1
attr(,"levels")
[1] "female" "male" unclass(factor(10:15))[1] 1 2 3 4 5 6
attr(,"levels")
[1] "10" "11" "12" "13" "14" "15"as.character(sexFac)[1] "male" "female" "female" "male" "male" "male" "female" "female"(fac1 <- factor(sample(LETTERS, 5)))[1] B V A F O
Levels: A B F O V(fac2 <- factor(sample(letters, 3)))[1] w h q
Levels: h q w(charVec1 <- levels(fac1)[fac1])[1] "B" "V" "A" "F" "O"(charVec2 <- levels(fac2)[fac2])[1] "w" "h" "q"factor(c(charVec1, charVec2))[1] B V A F O w h q
Levels: A B F h O q V wrep(fac1, times=2) [1] B V A F O B V A F O
Levels: A B F O VNjk <- 2
P <- 2
Q <- 3
(IV1 <- factor(rep(c("lo", "hi"), each=Njk*Q))) [1] lo lo lo lo lo lo hi hi hi hi hi hi
Levels: hi lo(IV2 <- factor(rep(1:Q, times=Njk*P))) [1] 1 2 3 1 2 3 1 2 3 1 2 3
Levels: 1 2 3interaction(IV1, IV2) [1] lo.1 lo.2 lo.3 lo.1 lo.2 lo.3 hi.1 hi.2 hi.3 hi.1 hi.2 hi.3
Levels: hi.1 lo.1 hi.2 lo.2 hi.3 lo.3(status <- factor(c("hi", "lo", "hi", "mid")))[1] hi lo hi mid
Levels: hi lo mid(ordStat <- ordered(status, levels=c("lo", "mid", "hi")))[1] hi lo hi mid
Levels: lo < mid < hiordStat[1] > ordStat[2][1] TRUE(chars <- rep(LETTERS[1:3], each=5)) [1] "A" "A" "A" "A" "A" "B" "B" "B" "B" "B" "C" "C" "C" "C" "C"(fac1 <- factor(chars)) [1] A A A A A B B B B B C C C C C
Levels: A B Cfactor(chars, levels=c("C", "A", "B")) [1] A A A A A B B B B B C C C C C
Levels: C A Breorder.factor() from package DescToolslibrary(DescTools)
(facRe <- reorder.factor(fac1, new.order=c("C", "B", "A"))) [1] A A A A A B B B B B C C C C C
Levels: C B Avec <- rnorm(15, rep(c(10, 5, 15), each=5), 3)
tapply(vec, fac1, FUN=mean) A B C
11.236854 6.384761 13.134951 reorder(fac1, vec, FUN=mean) [1] A A A A A B B B B B C C C C C
Levels: B A C(fac2 <- factor(sample(1:2, 10, replace=TRUE), labels=c("B", "A"))) [1] B B A A A B B B B A
Levels: B Asort(fac2) [1] B B B B B B A A A A
Levels: B Asort(as.character(fac2)) [1] "A" "A" "A" "A" "B" "B" "B" "B" "B" "B"try(detach(package:DescTools))R markdown - markdown - R code - all posts