Hallo,
ich habe Probleme dabei bestimmte Variablen umzuwandeln. Es sind zwei String Variablen die in numerische umgewandelt werden sollen. Schwierigkeit für mich: wenn in den Variablen Text enthalten ist (d.h. egal was der Proband eingegeben hat) soll eine 1 eingetragen werden, bei den anderen Personen soll das NA stehen bleiben. Kann mir jemand helfen??
LG Anna
Nachtrag: Es handelt sich um zwei Variablen Smoke_1 und Smoke_2 (Fragen nach Tabakkonsum), die mit Ja oder Nein beantwortet werden konnten. Bei Nein steht in den Daten NA, und bei JA steht ein Text (da der Proband zuätzlich eine Aussage über seinen Konsum machen konnte). Der Inhalt des Textes ist für meine aktuelle Auswertung nicht wichtig, es soll für jede Antwort mit Ja (also jeder Fall indem ein Text enthalten ist) eine 1 eingetragen werden, da ich daraus später einen Punktescore berechnen möchte.
D.h. alle NA´s sollen bleiben und alle Fälle mit Text sollen in eine 1 umgewandelt werden. Ich hoffe das ist verständlich. Vielen Dank schon mal.
String Variable umwandeln
String Variable umwandeln
Zuletzt geändert von Anna.R am Mo Jan 15, 2018 7:55 pm, insgesamt 1-mal geändert.
Re: String Variable umwandeln
Hallo Anna,
willkommen im Forum!
Bitte lies viewtopic.php?f=20&t=11 und liefere uns Daten, an denen wir das Problem nachvollziehen können.
Gruß, Jörg
willkommen im Forum!
Bitte lies viewtopic.php?f=20&t=11 und liefere uns Daten, an denen wir das Problem nachvollziehen können.
Gruß, Jörg
Re: String Variable umwandeln
Ich glaube, ich hab verstanden, um was es dir geht. Im Prinzip sind nur numerische Angaben erlaubt, wenn ein Proband aber Text eingegeben hat, dann soll als Standardwert 1 zurückgegeben werden, oder?
Nachtrag: Wenn ich so drüber nachdenke - es macht eigentlich mehr Sinn den Text vor der Umwandlung zu ersetzen...
Code: Alles auswählen
antworten <- c("4","2","5","Text","202.3",NA,"Nochmal Text","3.4")
#class(antworten)
#[1] "character"
antworten_numeric <- as.numeric(antworten)
# Warning message:
# NAs introduced by coercion
# Wir testen nun, welche NAs aus dem Numeric schon im ursprünglichen Vektor NAs gewesen sind. Alle anderen werden mit 1 ersetzt.
antworten_numeric[is.na(antworten_numeric)] <- ifelse(!is.na(antworten[is.na(antworten_numeric)]),1,NA)
Code: Alles auswählen
antworten <- c("4","2","5","Text","202.3",NA,"Nochmal Text","3.4")
antworten[grep("[[:alpha:]]",antworten)] <- 1
antworten_numeric <- as.numeric(antworten)
Re: String Variable umwandeln
Danke für die Hilfe.
Es hat geklappt mit dem Code aus dem Nachtrag. DANKE!!
Es hat geklappt mit dem Code aus dem Nachtrag. DANKE!!