Skip to content
Prev 307678 / 398503 Next

Sorting a data frame by specifying a vector

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.