[R] dataframe, transform, strsplit

jim holtman jholtman at gmail.com
Mon Oct 25 18:59:26 CEST 2010


try this:

> df
   have want
1 a.b.c    a
2 d.e.f    d
3 g.h.i    g
> df$get <- gsub("^([^.]+).*", "\\1", df$have)
> df
   have want get
1 a.b.c    a   a
2 d.e.f    d   d
3 g.h.i    g   g


On Mon, Oct 25, 2010 at 12:53 PM, Matthew Pettis
<matthew.pettis at gmail.com> wrote:
> Hi,
>
> I have a dataframe that has a column of vectors that I need to extract off
> the character string before the first '.' character and put it into a
> separate column.  I thought I could use 'strsplit' for it within
> 'transform', but I can't seem to get the right invocation.  Here is a sample
> dataframe that has what I have, what I want, and what I get.  Can someone
> tell me how to get what is in the 'want' column from the 'have' column
> programatically?
>
> tia,
> Matt
>
> df <- data.frame(have=c("a.b.c", "d.e.f", "g.h.i"), want=c("a","d","g"))
> df.xform <- transform(df, get=strsplit(as.character(have), split=".",
> fixed=TRUE)[[1]][1])
> df.xform
>
>        [[alternative HTML version deleted]]
>
> ______________________________________________
> 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.
>



-- 
Jim Holtman
Cincinnati, OH
+1 513 646 9390

What is the problem that you are trying to solve?



More information about the R-help mailing list