[R] Split comma separated list

Phil Spector spector at stat.berkeley.edu
Tue Dec 8 22:05:47 CET 2009


Gaurav -
    Here's one way:

> x = textConnection('ID1          0.342             0.01,1.2,0,0.323,0.67
+ ID2         0.010              0.987,0.056,1.3,1.5,0.4
+ ID3         0.146              0.1173,0.1494,0.211,0.1257
+ 
+ ')
> y = read.table(x,stringsAsFactors=FALSE)
> res = apply(y,1,function(x)as.numeric(strsplit(x[3],',')[[1]]))
> names(res) = y[,1]
> boxplot(res)

 					- Phil Spector
 					 Statistical Computing Facility
 					 Department of Statistics
 					 UC Berkeley
 					 spector at stat.berkeley.edu


On Tue, 8 Dec 2009, Gaurav Moghe wrote:

> Hi all,
>
> I'm a beginner user of R. I am stuck at what I thought was a very obvious
> problem, but surprisingly, I havent found any solution on the forum or
> online till now.
>
> My problem is simple. I have a file which has entries like the following:
> #ID       Value1            List_of_values
> ID1          0.342             0.01,1.2,0,0.323,0.67
> ID2         0.010              0.987,0.056,1.3,1.5,0.4
> ID3         0.146              0.1173,0.1494,0.211,0.1257
> ...
> ...
>
> I want to split the third column (by comma) into individual values and put
> them in a variable so that I can plot a boxplot with those values, one
> boxplot per row . I have been having three issues:
> 1) R identifies the third column as an integer, instead of a list of lists
> 2) I havent been able to split the third column into individual values
> 3) How do I get it in a format suitable for plotting a boxplot?
>
> Any suggestions? I'd really appreciate any help on this.
>
> Thank you,
> Gaurav
>
> 	[[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.
>




More information about the R-help mailing list