The key to this buried in the exclude= argument to factor() !
See the help page for factor:
?factor
This will work:
stat.table(factor(Sea,exclude=NULL), list(count(), percent(Sea)),
data=temp)
Best,
Bendix
-----Original Message-----
From: r-sig-epi-bounces at stat.math.ethz.ch
[mailto:r-sig-epi-bounces at stat.math.ethz.ch] On Behalf Of
Lauri Nikkinen
Sent: Tuesday, November 06, 2007 12:11 PM
To: r-sig-epi at stat.math.ethz.ch
Subject: [R-sig-Epi] NA:s in stat.table (library Epi)
#Hello,
#I have a data.frame similar to this:
library(Epi)
Aye <- sample( c("Yes","Si","Oui"), 177, replace=TRUE ) Bee
<- sample( c("Hum","Buzz"), 177, replace=TRUE ) Sea <-
sample( c("White","Black","Red","Dead"), 177, replace=TRUE )
temp <- data.frame(Aye, Bee, Sea) temp$Sea[temp$Sea == "Red"] <- NA
str(temp)
drop.levels <- function(dat){
dat[] <- lapply(dat, function(x) x[,drop=TRUE])
return(dat)
}
temp <- drop.levels(temp)
#I can calculate count and percentages using stat.table:
stat.table(Sea, list(count(), percent(Sea)), data=temp)
# -----------------------------
# Sea count() percent(Sea)
# -----------------------------
# Black 39 31.2
# Dead 32 25.6
# White 54 43.2
# -----------------------------
#But I would like to include count and percet of NA:s, like
this # -----------------------------
# Sea count() percent(Sea)
# -----------------------------
# Black 39 22.0
# Dead 32 18.1
# White 54 30.5
# NA 52 29.4
# -----------------------------
#Is that possible using stat.table?
#Thanks
#Lauri