In such cases (which I don't think must happen), consider using
?lapply
and also
?unlist



----------------Contact
Details:-------------------------------------------------------
Contact me: Tal.Galili@gmail.com |  972-52-7275845
Read me: www.talgalili.com (Hebrew) | www.biostatistics.co.il (Hebrew) |
www.r-statistics.com (English)
----------------------------------------------------------------------------------------------




On Wed, Aug 4, 2010 at 10:03 PM, Dimitri Liakhovitski <
dimitri.liakhovitski@gmail.com> wrote:

> I am sorry, someone said that strsplit automatically works on a
> column. How exactly does it work?
> For example, if I want to grab just the first (or the second) part of
> the string in nam1 that should be split based on ".."
> x<-data.frame(nam1=c("bbb..aba","ccc..abb","ddd..abc","eee..abd"),
> stringsAsFactors=FALSE)
> str(x)
> strsplit(x[[1]],split="\\..")
> str(strsplit(x[[1]],split="\\.."))
>
> I am getting a list - hence, it looks like I have to go in a loop...?
>
> Thank you!
> Dimitri
>
>
> On Wed, Aug 4, 2010 at 2:39 PM, Dimitri Liakhovitski
> <dimitri.liakhovitski@gmail.com> wrote:
> > Thank you very much, everyone!
> > Dimitri
> >
> > On Wed, Aug 4, 2010 at 2:10 PM, David Winsemius <dwinsemius@comcast.net>
> wrote:
> >>
> >> On Aug 4, 2010, at 1:42 PM, Dimitri Liakhovitski wrote:
> >>
> >>> I am sorry, I'd like to split my column ("names") such that all the
> >>> beginning of a string ("X..") is gone and only the rest of the text is
> >>> left.
> >>
> >> I could not tell whether it was the string "X.." or the pattern "X.."
> that
> >> was your goal for matching and removal.
> >>>
> >>> x<-data.frame(names=c("X..aba","X..abb","X..abc","X..abd"))
> >>> x$names<-as.character(x$names)
> >>
> >> a) Instead of "names" which is heavily used function name, use something
> >> more specific. Otherwise you get:
> >>> names(x)
> >> "names"  # and thereby avoid list comments about canines.
> >>
> >> b) Instead of coercing a character vector back to a character vector,
> use
> >> stringsAsFactors = FALSE.
> >>
> >>> x<-data.frame(nam1=c("X..aba","X..abb","X..abc","X..abd"),
> >>> stringsAsFactors=FALSE)
> >> #Thus is the pattern version:
> >>
> >>> x$nam1 <- gsub("X..",'', x$nam1)
> >>> x
> >>  nam1
> >> 1   aba
> >> 2   abb
> >> 3   abc
> >> 4   abd
> >>
> >> This is the string version:
> >>> x<-data.frame(nam1=c("X......aba","X.y.abb","X..abc","X..abd"),
> >>> stringsAsFactors=FALSE)
> >>>  x$nam1 <- gsub("X\\.+",'', x$nam1)
> >>> x
> >>   nam1
> >> 1   aba
> >> 2 y.abb
> >> 3   abc
> >> 4   abd
> >>
> >>
> >>> (x)
> >>> str(x)
> >>>
> >>> Can't figure out how to apply strsplit in this situation - without
> >>> using a loop. I hope it's possible to do it without a loop - is it?
> >>
> >> --
> >>
> >> David Winsemius, MD
> >> West Hartford, CT
> >>
> >>
> >
> >
> >
> > --
> > Dimitri Liakhovitski
> > Ninah Consulting
> > www.ninah.com
> >
>
>
>
> --
> Dimitri Liakhovitski
> Ninah Consulting
> www.ninah.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.
>

	[[alternative HTML version deleted]]

