String Variable umwandeln

Wie rufe ich R-Funktionen auf, wie selektiere ich Daten, ich weiß nicht genau ....

Moderatoren: EDi, jogo

Antworten
Anna.R
Beiträge: 10
Registriert: Di Jan 09, 2018 4:19 pm

String Variable umwandeln

Beitrag von Anna.R » So Jan 14, 2018 4:39 pm

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.
Zuletzt geändert von Anna.R am Mo Jan 15, 2018 7:55 pm, insgesamt 1-mal geändert.

jogo
Beiträge: 822
Registriert: Fr Okt 07, 2016 8:25 am

Re: String Variable umwandeln

Beitrag von jogo » Mo Jan 15, 2018 8:18 am

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

Curnen
Beiträge: 22
Registriert: Fr Nov 18, 2016 3:45 pm

Re: String Variable umwandeln

Beitrag von Curnen » Mo Jan 15, 2018 12:35 pm

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?

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)
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")
antworten[grep("[[:alpha:]]",antworten)] <- 1
antworten_numeric <- as.numeric(antworten)

Anna.R
Beiträge: 10
Registriert: Di Jan 09, 2018 4:19 pm

Re: String Variable umwandeln

Beitrag von Anna.R » Di Jan 16, 2018 11:57 am

Danke für die Hilfe.
Es hat geklappt mit dem Code aus dem Nachtrag. DANKE!!

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast