From a vector with characters to binary information
On 29-03-2013, at 20:01, Hermann Norpois <hnorpois at 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