After converting the table to a data frame, replicate each row by the number of observations:

ddd.df <- as.data.frame(ddd) # as.data.frame.table does the same thing

ddd.new <- as.matrix(ddd.df[rep(seq_along(ddd.df[, 1]), ddd.df$Freq), 1:2])

head(ddd.new)

a b

1 "a" "A"

1.1 "a" "A"

2 "b" "A"

2.1 "b" "A"

3 "c" "A"

4 "d" "A"

rownames(ddd.new) <- NULL # Optional - get rid of row names

head(ddd.new)

a b

[1,] "a" "A"

[2,] "a" "A"

[3,] "b" "A"

[4,] "b" "A"

[5,] "c" "A"

[6,] "d" "A"

-------------------------------------

David L Carlson

Department of Anthropology

Texas A&M University

College Station, TX 77840-4352

-----Original Message-----

From: R-help [mailto:r-help-bounces at r-project.org] On Behalf Of Patrizio Frederic

Sent: Wednesday, June 15, 2016 11:10 AM

To: r-help at r-project.org

Subject: [R] inverse table

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've tried

as.data.frame.table(ddd)

which is not the answer I'm looking for.

Thanks in advance,

PF

--

+---------------------------------------------------------------

+---------------------------------------------------------------

[[alternative HTML version deleted]]

______________________________________________

R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see

https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide

http://www.R-project.org/posting-guide.htmland provide commented, minimal, self-contained, reproducible code.