Re: [R] reshaping data.frame question

From: Matthias Braeunig <mb.atelier_at_web.de>
Date: Tue 27 Jun 2006 - 15:24:37 EST

Thanks, this is not what what I meant. I need to reshape the original dataframe that I can access p_f[X] for numerical X. Maybe I was not clear enough.

The problem really is that X starts at 0. Note that in my example changing the row names to 0:2 does not have the desired effect.

jim holtman wrote:
> You need to specify the row/column name as character:
>

>> y

> X1 X2 X3 X4
> 0 0.1 0.1 0.1 0.1
> 1 0.2 0.2 0.2 0.2
> 2 0.3 0.3 0.3 0.3
>
>> y[,'X3']

> [1] 0.1 0.2 0.3
>> y['0','X3']

> [1] 0.1
>
>
>
>
> On 6/26/06, Matthias Braeunig <mb.atelier@web.de> wrote:
>>

> Dear R-helpers,
>
>
> my data.frame is of the form
>
> x <- data.frame( f=gl(4,3), X=rep(0:2,4), p=c(.1,.2,.3))
> x
> f X p
> 1 1 0 0.1
> 2 1 1 0.2
> 3 1 2 0.3
> 4 2 0 0.1
> 5 2 1 0.2
> 6 2 2 0.3
> 7 3 0 0.1
> 8 3 1 0.2
> 9 3 2 0.3
> 10 4 0 0.1
> 11 4 1 0.2
> 12 4 2 0.3
>
> which tabulates some values p(X) for several factors f.
>
> Now I want to put it in "wide" format, so that factor levels appear as
> column heads. Note also that X starts from zero. It would be nice if I
> could simply access p_f[X==0] as f[0]. How can I possibly do that?
>
> (The resilting object does not have to be a data.frame. As there are
> only numeric values, also a matrix would do.)
>
> I tried the following
>
> y<-unstack(x,form=p~f)
> row.names(y) <- 0:2
> y
> X1 X2 X3 X4
> 0 0.1 0.1 0.1 0.1
> 1 0.2 0.2 0.2 0.2
> 2 0.3 0.3 0.3 0.3
>
> Now, how to access X3[0], say?
>
> Maybe reshape would be the right tool, but I could not figure it out.
>
> I appreciate your help. Thanks!


R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Tue Jun 27 15:30:49 2006

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.1.8, at Tue 27 Jun 2006 - 16:12:29 EST.

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