On 3/06/2009, at 12:03 PM, Farley, Robert wrote:
The problem here is Table doesn't seem to have a way to weigh the
data.
ToyData
Data1 Data2 Data3 Weight
101 Sam Red Banana 1.1
102 Sam Green Banana 2.1
103 Sam Blue Orange 2.1
104 Fred Red Orange 2.1
105 Fred Green Guava 2.1
106 Fred Blue Guava 2.1
107 <NA> Red Pear 50.1
108 <NA> Green Pear 50.1
109 <NA> Blue <NA> 1000.2
with(ToyData,table(Data1, Data3, useNA = "ifany"))
Data3
Data1 Banana Guava Orange Pear <NA>
Fred 0 2 1 0 0
Sam 2 0 1 0 0
<NA> 0 0 0 2 1
xtabs(Weight ~ Data1 + Data3, exclude=NULL, na.action=na.pass,
ToyData)
Data3
Data1 Banana Guava Orange Pear
Fred 0.0 4.2 2.1 0.0 Data3
Data1 Banana Guava Orange Pear NA
Fred 0.0 4.2 2.1 0.0 0.0
Sam 3.2 0.0 2.1 0.0 0.0
NA 0.0 0.0 0.0 100.2 1000.2
Sam 3.2 0.0 2.1 0.0
Why don't you just re-code your data replacing missing values (<NA>) in
your factors by the literal string "NA"?
E.g.:
revamp <- function(x){
if(!is.factor(x)) return(x)
l <- levels(x)
x <- as.character(x)
x[is.na(x)] <- "NA"
factor(x,levels=c(l,"NA"))
}
xxx <- as.data.frame(lapply(Toydata,revamp))
xtabs(Weight ~ Data1 + Data3, data=xxx)
Data3
Data1 Banana Guava Orange Pear NA
Fred 0.0 4.2 2.1 0.0 0.0
Sam 3.2 0.0 2.1 0.0 0.0
NA 0.0 0.0 0.0 100.2 1000.2
cheers,
Rolf Turner
######################################################################
Attention:\ This e-mail message is privileged and confid...{{dropped:9}}
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.