Hi Daniel, After using strsplit() you can call a user-written function to extend the length of each list element to a uniform value and then use do.call() with rbind. For instance,
> txt <- "1:2 + 3:4 + 5 + 6:7" > x<- readLines(textConnection(txt)) > > f <- function(x) + do.call(rbind, + lapply(x,function(a,n) c(a,rep(NA,n-length(a))), + n = max(sapply(x,length)))) > f(strsplit(x,":")) [,1] [,2] [1,] "1" "2" [2,] "3" "4" [3,] "5" NA [4,] "6" "7" Hope this helps, ST ----- Original Message ---- From: Daniel Brewer <[EMAIL PROTECTED]> To: [EMAIL PROTECTED] Sent: Tuesday, March 4, 2008 5:54:51 AM Subject: [R] Best way to strsplit a column Hello, I have a data.frame with a column that I would like to split into based around the delimiter ":". This is a useful feature in Excel. I cannot work out the best way to do it in R. I am sure you need to use strsplit, but that returns a list. The problem is that some values in the column do not contain a ":" so should have a "NA" in the second column of the result, and this makes doing an unlist a non-starter. Any ideas? Many thanks Daniel Brewer The Institute of Cancer Research: Royal Cancer Hospital, a charitable Company Limited by Guarantee, Registered in England under Company No. 534147 with its Registered Office at 123 Old Brompton Road, London SW7 3RP. This e-mail message is confidential and for use by the a...{{dropped:16}} ______________________________________________ R-help@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.