[R] split strings in a vector and convert it to a data.frame
    David Winsemius 
    dwinsemius at comcast.net
       
    Wed Feb 10 00:54:28 CET 2010
    
    
  
On Feb 9, 2010, at 6:46 PM, Martin Batholdy wrote:
> hi,
>
> I have a vector full of strings like;
>
>
> xy_100_ab	xy_101_ab	xy_102_ab	xy_103_ab
>
>
> I want to seperate each string in three pieces and the separator  
> should be the "_"
>
> at the end I want a data.frame like:
>
> column1 column2 column3
> xy		100			ab
> xy		101			ab
> xy		102			ab
> xy		103			ab
>
There are probably easier ways but this works:
 > as.data.frame( t(sapply(1:4, function(x) strsplit(vec, "_")[[x]])) )
   V1  V2 V3
1 xy 100 ab
2 xy 101 ab
3 xy 102 ab
4 xy 103 ab
I needed to transpose the matrix that resulted from the "sideways  
presentation" of the data.
>
> I tried strsplit but I couldn't figure out how to convert the list I  
> get into a data.frame.
>
> I just need a function like read.table. But it seems that read.table  
> only can handle files, not vectors...
> ______________________________________________
> 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.
David Winsemius, MD
Heritage Laboratories
West Hartford, CT
    
    
More information about the R-help
mailing list