[R] Sorting a data frame by specifying a vector

ROLL Josh F JRoll at lcog.org
Thu Oct 11 19:42:26 CEST 2012


Sorry if I wasn't clear but the result I am looking for is as follows
#   Season       Obs
#1  Summer 0.2141001
#5  Summer 0.2141001
#9  Summer 0.2141001
#13 Summer 0.2141001
#3    Fall 0.6722337
#7    Fall 0.6722337
#11   Fall 0.6722337
#15   Fall 0.6722337
#2  Winter 0.9318599
#6  Winter 0.9318599
#10 Winter 0.9318599
#14 Winter 0.9318599
#4  Spring 0.1927715
#8  Spring 0.1927715
#12 Spring 0.1927715
#16 Spring 0.1927715

The process you describe does not get me there

Any other recommendations?

-----Original Message-----
From: arun [mailto:smartpink111 at yahoo.com] 
Sent: Thursday, October 11, 2012 10:33 AM
To: ROLL Josh F
Cc: R help
Subject: Re: [R] Sorting a data frame by specifying a vector

Hi,
In your dataset, it seems like it is already ordered in the way you wanted to.
df.. <- data.frame(Season=rep(c("Summer","Fall","Winter","Spring"),4),Obs=
runif(length(rep(c("Summer","Fall","Winter","Spring"),4))))

#Suppose the order you want is:

 vec2<-c("Summer","Winter","Fall","Spring")
df1<-df..[match(df..$Season,vec2),]
 row.names(df1)<-1:nrow(df1)
 df1
#   Season       Obs
#1  Summer 0.2141001
#2  Winter 0.9318599
#3    Fall 0.6722337
#4  Spring 0.1927715
#5  Summer 0.2141001
#6  Winter 0.9318599
#7    Fall 0.6722337
#8  Spring 0.1927715
#9  Summer 0.2141001
#10 Winter 0.9318599
#11   Fall 0.6722337
#12 Spring 0.1927715
#13 Summer 0.2141001
#14 Winter 0.9318599
#15   Fall 0.6722337
#16 Spring 0.1927715


A.K.

----- Original Message -----
From: LCOG1 <jroll at lcog.org>
To: r-help at r-project.org
Cc: 
Sent: Thursday, October 11, 2012 1:08 PM
Subject: [R] Sorting a data frame by specifying a vector

Hello all,
   I cannot seem to figure out this seemingly simple procedure.  

I want to sort a data frame by a specified character vector.

So for :

df.. <- data.frame(Season=rep(c("Summer","Fall","Winter","Spring"),4),Obs=
runif(length(rep(c("Summer","Fall","Winter","Spring"),4))))

I want to sort the data frame by the seasons but in the order I specify since alphapetically would not put the season in sequential order

I tried the following and a few other things but no dice.  It looks like I will have to convert to factors.  Any thoughts?  Thanks

df.. <-
df..[sort(as.factor(Df..$Season,levels=c("Summer","Fall","Winter","Spring"))),]

Josh



--
View this message in context: http://r.789695.n4.nabble.com/Sorting-a-data-frame-by-specifying-a-vector-tp4645867.html
Sent from the R help mailing list archive at Nabble.com.

______________________________________________
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.




More information about the R-help mailing list