Hi
I have a column of concatenated information stored in an RG object in the limma
package and I need to split this information and then paste the first two pieces
of data in each case back into two columns of the RG object.
This is how I am currently doing this
gene.info.split<-strsplit(RG$genes$Name,",",fixed=TRUE)
for (h in 1: length(gene.info.split)){
RG$genes$ID[h]<-gene.info.split[h][[1]][1]
RG$genes$Name[h]<-gene.info.split[h][[1]][2]
}
However, this is very slow and presumably 'messy'. The problem is that
there are an inconsistent number of comma separated entries in the original Name
column so I cannot do
gene.info.split<-as.data.frame(strsplit(RG$genes$Name,",",fixed=TRUE))
because I get the error message
Error in data.frame(c("OligoCy3", "SP Control poplar 48pin",
"A24", "no length information" :
arguments imply differing number of rows: 4, 6, 5, 1
I also can't figure out how to usefully put the [list] data into a matrix
(my ignorance I am sure).
Ideally I would be able to put each comma separated item into a column and then
simply paste the first and second columns over the RG$genes$Name and RG$genes$ID
columns respectively (and do away with the for loop).
Some cases in the original RG$genes$Name has only one piece of information (ie
no commas) so I would need a way to fill any blanks with an NA value
If anyone can help me, it would be much appreciated
Nat Street
---
Nathaniel Street
???????? University of Southampton
???????? Plants and Environment Lab
????? School of Biological Sciences
?? Basset Crescent East
?? Southampton
?SO16 7PX
?????? tel: +44 (0) 2380 594268
? fax: +44 (0) 2380 594269
?n.r.street at soton.ac.uk
??? http://www.populus.biol.soton.ac.uk/~nat
http://del.icio.us/n.r.street