drflxms wrote
> 
> Jeff,
> 
> thanks a lot for your quick reply and the hint!
> 
> Meanwhile I found a solution that works - at least for my case ;)
> The code to get the job done is
> 
> df[order(match(df$level,desiredOrder)),]
> 
> So we seem in need of one order statement more. I found this solution
> doing it stepwise:
> 
> ## sorting the levels of the level column in the data.frame
> df$level <- factor(df$level,levels=desiredOrder)
> ## sorting the data frame by the newly sorted level column
> df[order(df$level),]
> 
> Maybe this solution is of a help for someone else as well?
> 
> But honestly I still do not exactly understand why
> df[match(df$level,desiredOrder),] doesn't work...
> 

Read carefully

?match

and  then do

match(df$level,desiredOrder)
match(desiredOrder,df$level)

and look carefully at the results. Then it should be clear.

Berend



--
View this message in context: 
http://r.789695.n4.nabble.com/sorting-a-data-frame-df-by-a-vector-which-is-not-contained-in-the-df-unexpected-behaviour-of-match-ar-tp4242326p4242400.html
Sent from the R help mailing list archive at Nabble.com.

______________________________________________
R-help@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.

Reply via email to