thank you all.

the dcast formulation is what I am looking for.  That version of the
formula A+D ~ H
also works with the original cast function.

result.cast <- cast(A+D ~ H, value="M", data=meltTest)

It generalizes to a four-factor example, as requested.

This ftable solution didn't do what I wanted because it didn't retain A and
D as factors.

On Mon, Mar 18, 2013 at 6:00 PM, Charles Berry <ccberry@ucsd.edu> wrote:

> Richard M. Heiberger <rmh <at> temple.edu> writes:
>
> >
> > ## Can someone suggest a simpler expression than either of these, with
> the
> > goal
> > ## of taking a long matrix into a wide one with exactly one of the
> factors
> > converted to
> > ## columns and all the rest retained as factors.  I want something that
> > generalizes beyond
> > ## the three factors illustrated here.
> >
> > ## Rich
> >
> > meltTest <- data.frame(A=rep(c("B","C"), each=12),
> >                        D=rep(c("E","F","G"), each=4, times=2),
> >                        H=rep(c("I","J","K","L"), times=6),
> >                        M=1:24)
> >
>
> amat <- ftable( xtabs( M ~ A + D + H, meltTest ),row.vars=1:2 )
>
> amat is such a matrix with a few attributes added.
>
> HTH,
>
> Chuck
>
> ______________________________________________
> 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.
>

	[[alternative HTML version deleted]]

