Em Qua 15 jun. 2016, às 13:10, Patrizio Frederic escreveu:
> Dear R-users,
> I've a problem that puzzle me
> 
> suppose I have a two way contigency  table
> 
> a <- sample(al <- letters[1:10],100,T)
> b <- sample(bl <- LETTERS[1:5],100,T)
> ab <- cbind(a,b)
> 
> ddd <- (xtabs(data = ab))
> ddd <- as.matrix(ddd)
> 
> the question is: how do I reverse the code, thus how do I get raw data
> (object ab) from ddd?

I believe packages reshape and reshape2 could help, although I don't use
them.

a <- sample(al <- letters[1:10],100,T)
b <- sample(bl <- LETTERS[1:5],100,T)
ab <- cbind(a,b)
ddd <- (xtabs(data = ab))
ddd <- as.matrix(ddd)

df <- expand.grid(dimnames(ddd), stringsAsFactors = FALSE)
df$freq <- as.vector(ddd)
ab2 <- as.matrix(df[rep(seq.int(nrow(df)), df$freq), 1:2])
all.equal(ab2[order(ab2[, c("a", "b")])], 
          ab[order(ab[, c("a", "b")])])

Hope that helps,

Leonardo Ferreira Fontenelle

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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.

Reply via email to