Re: [R] How to convert an ftable object to a matrix including the row names?

From: Marius Hofert <m_hofert_at_web.de>
Date: Fri, 27 May 2011 08:54:00 +0200

Dear Prof. Ripley,

many thanks for your quick reply.

A character matrix (although clearly not very elegant) would be no problem, xtable deals with that.
I tried as.data.frame() before, but if one wants to have the same rows as in ft, one has to use additional commands (?): ft # => 16 rows
as.data.frame(ft) # => 32 rows; different order Is there a simple way to get the same order of the variables as in ft?

Cheers,

Marius

On 2011-05-27, at 08:17 , Prof Brian Ripley wrote:

> as.data.frame(ft)
> 
> seems straightforward enough.
> 
> I don't think you actually want a matrix, as they would have to be a character matrix and the ftable object is numeric.
> 
> On Fri, 27 May 2011, Marius Hofert wrote:
> 

>> Dear expeRts,
>>
>> What's the easiest way to convert an ftable object to a matrix such that the
>> row names of the ftable object are shown in the first couple of columns of the
>> matrix? This is (typically) required, for example, when the final goal is to print
>> the matrix via xtable.
>>
>> Below is a rather complicated example of how to do it...
>>
>> Cheers,
>>
>> Marius
>>
>> ## Goal: convert an ftable() to a (character) matrix including the row names of
>> ## the ftable object as columns in the matrix (so that the matrix can be
>> ## nicely printed with xtable() for example)
>> (ft <- ftable(Titanic, row.vars=1:3)) # ftable object
>> rn <- attr(ft, "row.vars") # pick out rownames
>> rn. <- rn[length(rn):1] # unfortunately, we have to (?) change the order due to expand.grid()
>> g <- expand.grid(rn.) # build the 3 columns containing the row names
>> (g. <- g[,length(rn):1]) # change order back; now contains the same row names as ft
>> (ft.mat <- as.matrix(ft)) # convert ftable object to a matrix
>> ## now, cbind g. and ft.mat
>> cbind(g., ft.mat) # => now the rownames are there twice! ... although dim(ft.mat)==c(16, *2*)
>> ## class(g.) => okay, probably we meant:
>> (res <- cbind(as.matrix(g.), ft.mat))
>> require(xtable)
>> xtable(res)
>> ______________________________________________
>> R-help_at_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.
>>
> 
> -- 
> Brian D. Ripley,                  ripley_at_stats.ox.ac.uk
> Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
> University of Oxford,             Tel:  +44 1865 272861 (self)
> 1 South Parks Road,                     +44 1865 272866 (PA)
> Oxford OX1 3TG, UK                Fax:  +44 1865 272595

______________________________________________
R-help_at_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. Received on Fri 27 May 2011 - 06:57:21 GMT

This quarter's messages: by month, or sorted: [ by date ] [ by thread ] [ by subject ] [ by author ]

All messages

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Fri 27 May 2011 - 17:00:10 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive