Hi, Johannes,

maybe

X <- unlist( strsplit( as.character( x$ART), split = ";", fixed = TRUE))
X <- strsplit( X, split = "-", fixed = TRUE)

X <- sapply( X, function( x)
                 if( length(x) == 2)
                  rep( x[1], as.numeric( x[2])) else x[1]
            )

table(X, useNA = "always")


comes close to what you want.

 Hth  --  Gerrit


On Thu, 19 Jan 2012, Johannes Radinger wrote:

Hello,

I have a vector which looks like

x$ART
...

[35415] 00                        01-1;02-1;05-1;
[35417] 01-1;                     01-1;02-1;
[35419] 01-1;                     00
[35421] 01-1;04-1;                05-1;
[35423] 02-1;                     01-1;02-1;
[35425] 01-1;02-1;                <NA>
[35427] 01-1;                     <NA>
...


This is a vector I got in this format. To explain it:
there are several categories (00,01,02 etc) and its counts (values after -)
So I have to split each value and create new dataframe-columns/vectors
for each categories one column and the value should be then in the
corresponding cell. I know that this vector has 7 categories (00-06)
and NA values but each case (row) has not all the categories (as you can see).  
How can do such as split?

In the end I should get:
x$ART_00, x$ART_01, x$ART_03,... with its values. In the case of <NA> all the 
categories should have also <NA>.

Maybe someone can help.

Thank you,

Best regards

Johannes



--
"Feel free" - 10 GB Mailbox, 100 FreeSMS/Monat ...

______________________________________________
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.

______________________________________________
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.

Reply via email to