[R] strsplit
Ista Zahn
istazahn at gmail.com
Tue Jun 1 16:20:01 CEST 2010
Another option is to use the colsplit() function (in the reshape package):
testdata <- data.frame(sp = c("GenusA_SpeciesC_Tree",
"GenusA_SpeciesF_Tree", "GenusB_SpeciesA_Shrub"),
stringsAsFactors=FALSE)
library(reshape)
testdata <- cbind(testdata, colsplit(testdata$sp, split="_", names=c("Genus",
"Species", "Type")))
-Ista
On Tuesday 01 June 2010 10:10:22 am Ivan Calandra wrote:
> Hi,
>
> I don't know if it would help you since your goal is not really clear to
>
> me, but here are some thoughts:
> > x <- c("GenusA_SpeciesC_Tree", "GenusA_SpeciesF_Tree",
>
> "GenusB_SpeciesA_Shrub")
>
> > test <- strsplit(x, "_")
> > test
>
> [[1]]
> [1] "GenusA" "SpeciesC" "Tree"
> [[2]]
> [1] "GenusA" "SpeciesF" "Tree"
> [[3]]
> [1] "GenusB" "SpeciesA" "Shrub"
>
> > lapply(test, "[", 1)
>
> [[1]]
> [1] "GenusA"
> [[2]]
> [1] "GenusA"
> [[3]]
> [1] "GenusB"
>
> > df <- data.frame(Genus=unlist(lapply(test,"[",1)),
>
> Species=unlist(lapply(test,"[",2)), Veget=unlist(lapply(test,"[",3)))
>
> > df
>
> Genus Species Veget
> 1 GenusA SpeciesC Tree
> 2 GenusA SpeciesF Tree
> 3 GenusB SpeciesA Shrub
>
> There are probably better and nicer ways to do each step.
>
> HTH,
> Ivan
>
> Le 6/1/2010 11:45, Joël Baumann a écrit :
> > Hello!
> >
> > I have the following problem:
> >
> > I have a file in R that has in the first row three informations in one
> > row that I would like to in three different rows.
> >
> > The first row looks like this:
> >
> > GenusA_SpeciesC_Tree
> > GenusA_SpeciesF_Tree
> > GenusB_SpeciesA_Shrub
> > ...
> >
> > I tried with strsplit and and substring but I don't get any solution.
> > I know I can do this in Excel, but in R would be much nicer!
> >
> > Thanks for helping me.
> >
> > Joël Baumann
> >
> > ______________________________________________
> > 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.
More information about the R-help
mailing list