[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