Try this: > mytable id col1 col2 col3 1 10 0 4 8 2 11 1 2 2 3 12 0 8 3 4 13 0 5 5 > colName <- 'col3' > mytable[order(mytable[[colName]]),] id col1 col2 col3 2 11 1 2 2 3 12 0 8 3 4 13 0 5 5 1 10 0 4 8 > colName <- 'id' > mytable[order(mytable[[colName]]),] id col1 col2 col3 1 10 0 4 8 2 11 1 2 2 3 12 0 8 3 4 13 0 5 5 >
On Mon, Jul 26, 2010 at 2:54 PM, mirek wyczesany <miroslaw.wyczes...@uj.edu.pl> wrote: > Hello, > > In my script I would like to use a loop, which sorts the dataframe according > to different columns, pointed by the string variable. > > id col1 col2 col3 > 1 10 0 4 8 > 2 11 1 2 2 > 3 12 0 8 3 > 4 13 0 5 5 > > Usually the order() function can be used like this: > > sorted = mytable**[order(column3) , ] > > which results in properly sorted table: > ** > > id col1 col2 col3 > 2 11 1 2 2 > 3 12 0 8 3 > 4 13 0 5 5 > 1 10 0 4 8 > > **But when trying to use a string variable instead of "column3" name: > > columnname = "column3" > **sorted = mytable**[order(columnname) , ]** > > this command is not properly evaluated and the effect is somewhat strange. > > Would you suggest some solution? > > Thanks a lot! > > Mirek > > ______________________________________________ > 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. > -- Jim Holtman Cincinnati, OH +1 513 646 9390 What is the problem that you are trying to solve? ______________________________________________ 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.