[R] convert factor dataframe into numeric matrix

sun flyhyena at yahoo.com.cn
Thu Oct 25 13:50:54 CEST 2007


----- Original Message ----- 
From: "Petr PIKAL" <petr.pikal at precheza.cz>
To: "sun" <flyhyena at yahoo.com.cn>
Cc: <r-help at stat.math.ethz.ch>
Sent: Wednesday, October 24, 2007 4:46 PM
Subject: Re: [R] convert factor dataframe into numeric matrix


> Hi
>
> r-help-bounces at r-project.org napsal dne 24.10.2007 16:24:29:
>
>>
>> ----- Original Message ----- 
>> From: "Prof Brian Ripley" <ripley at stats.ox.ac.uk>
>> To: "sun" <flyhyena at yahoo.com.cn>
>> Cc: <r-help at stat.math.ethz.ch>
>> Sent: Wednesday, October 24, 2007 2:58 PM
>> Subject: Re: [R] convert factor dataframe into numeric matrix
>>
>>
>> > On Wed, 24 Oct 2007, sun wrote:
>> >
>> >> Bear me if this is a naive question.
>> >>
>> >> I have a dataframe, all lists inside it are factors. When I use
>> >
>> > Do you mean 'all columns are factors'?  A data frame is a list but
> usually
>> > does not contain lists.
>> >
>> >> as.matrix(df) to convert, I get a character matrix while my intention
> is
>> >> to
>> >> get numeric matrix. I can make the convertion  iteratively by each
> list
>> >> but
>> >> I do think there is some more elegant way of doing this.
>> >>
>> >> please let me know if I missed somthing there.
>> >
>> > ?data.matrix  may be what you are looking for: you gave us too little
>> > detail to be sure.
>> >
>>
>>
>> Thanks for your helps. I did not provide data 'cause I thought this is
> FAQ
>> type of question(maybe wrong impression).
>> Actually I use algdesign generated a factorial design data frame in
> which:
>> >
>> > str(dat)
>> 'data.frame':   2304 obs. of  6 variables:
>>  $ party : Factor w/ 3 levels "1","2","3": 1 2 3 1 2 3 1 2 3 1 ...
>>  $ dinner: Factor w/ 3 levels "1","2","3": 1 1 1 2 2 2 3 3 3 1 ...
>>  $ d1    : Factor w/ 4 levels "1","2","3","4": 1 1 1 1 1 1 1 1 1 2 ...
>>  $ p1    : Factor w/ 4 levels "1","2","3","4": 1 1 1 1 1 1 1 1 1 1 ...
>>  $ d2    : Factor w/ 4 levels "1","2","3","4": 1 1 1 1 1 1 1 1 1 1 ...
>>  $ p2    : Factor w/ 4 levels "1","2","3","4": 1 1 1 1 1 1 1 1 1 1 ...
>>
>> I just figured out a way fo convert it to numeric matrix using
>> >d = as.data.frame(lapply(dat,as.numeric))
>>
>> but "data.matrix()" suggested by Prof. Brian and Mr. Dimitris is exactly
> the
>> thing I was looking for.
>>
>> I am not sure if there exist some documents or online source that have
>> documented these kind of "utility functions" categorized in somet
> categories
>> like "data types", "data manipulating functions", "variable scopes",
> etc.,
>> that allow a quick browsing for some functions or other information.
>>
>
> Try to look at Paul Johnson's StatsRus pages, which provide a collection
> of HowTo's. And maybe introduction to R manual in doc directory.
>
> Regards
> Petr
>
 this page is enormously helpful and I like the way it was organized,

Thanks very much for the link.

Best,
Sun



More information about the R-help mailing list