On 29-03-2013, at 20:01, Hermann Norpois <hnorp...@gmail.com> wrote:
> Hello, > > I would like to transform a character vector into a "binary" vector > ("keine" and " " become 0 and the rest 1). > >> dput (scm) > c("keine", " ", "keine", "Erstgradverw.", "Mutter", "Erstgradverw.", > "Erstgradverw.", "keine", " ", "Vater", "Erstgradverw.", "keine", > "keine", "keine", "keine", " ", "Erstgradverw.", "keine", "keine", > "Erstgradverw.") > > I tried: > > scoref <- sapply (scm, function (x) ifelse (x == "keine"|x==" ", 0, 1)) > > or > > scoref <- sapply (scm, function (x) ifelse (x == "keine"|x==" ", x <- 0, x > <- 1)) > > And this is the output: > >> scoref > keine keine Erstgradverw. Mutter > 0 0 0 1 1 > Erstgradverw. Erstgradverw. keine Vater > 1 1 0 0 1 > Erstgradverw. keine keine keine keine > 1 0 0 0 0 > Erstgradverw. keine keine Erstgradverw. > 0 1 0 0 1 > > How do I get rid off the text. Is there an alternative method? Additionally you don't really need to use sapply. Expressions like these will get you what you want ifelse(scm=="keine" | scm==" ",0,1) 1 - (scm %in% c("keine"," ")) Berend ______________________________________________ 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.