[R] How to reorder rows in dataframe by text flag

Gabor Grothendieck ggrothendieck at gmail.com
Wed Feb 7 03:55:46 CET 2007


Try this:

DF <- data.frame(
        col1 = factor(c("31*", "0", "102*", "71*", "31", "66", "47")),
        col2 = factor(c("66", "0*", "66", "80", "2*", "31*", "38"))
)

replace(DF, TRUE, as.numeric(sub("*", "", as.matrix(DF), fixed = TRUE)))


On 2/6/07, Dale Steele <dale.w.steele at gmail.com> wrote:
> Given two columns of type character in a dataframe of the form:
>
> col1    col2
> 31*      66
> 0         0*
> 102*    66
> 71*      80
> 31       2*
> 66       31*
> 47       38*
>
> How do I generate the following dataframe?  Ie. col1 contains row item
>  with "*" and col2 contains row member without "*"
>
> col1    col2
> 31       66
> 0         0
> 102     66
> 71       80
> 2        31
> 31      66
> 38      47
>
> Partial ideas thus far....
> grep("*",col1,fixed=T)
> as.numeric(gsub("*","",col1))
>
> Thanks.  --Dale
>
> ______________________________________________
> R-help at 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
> and provide commented, minimal, self-contained, reproducible code.
>



More information about the R-help mailing list