Seite 1 von 1

Zusammenführung von Daten

Verfasst: So Jul 02, 2023 4:54 pm
von lxxa
Hallo :)

ich hätte eine Frage zur Zusammenführung von Daten.

Ich habe zwei Datensätze die ich gerne über die Probandennummer zusammenführen würde. Nur habe ich das Problem, dass vor dem Probandencode des einen Datensatztes ein "s" steht. Also in Datensatz 1 ist der Code für Proband 1 z.B. "345" und in Datensatz 2 ist der Code "s345".

Kann ich das "s" irgendwie entfernen oder die zwei Datensätze trotzdem zusammenführen?

Ich habe mal versucht zwei Datensätze, die meinen ähneln, zu erstellen, aber den zweiten Befehl kann ich leider nicht ausführen.

Code: Alles auswählen

data1 <- data_frame(subj = c(345, 637, 839),
                                     v1 = c("80", "50", "30"))

data2 <- data_frame(subj = c(s345, s637, s839),
                                     v1 = c("80", "50", "30"))
In dem Beispiel könnte ich zwar auch über "v1" zusammenführen, die Option habe ich mit meinen richtigen Datensätzen aber leider nicht.

Vielen Dank und liebe Grüße!

Re: Zusammenführung von Daten

Verfasst: So Jul 02, 2023 5:25 pm
von schubbiaschwilli
Gude!

Probier mal:

Code: Alles auswählen

data <- data.frame(subj=345:347)
data$subj_neu <- paste("s", data$subj, sep="")
data$subj_3 <- substr(data$subj_neu, 2, 4)
bzw.

Code: Alles auswählen

data2 <- data.frame(subj = c("s345", "s637", "s839"))
Ich empfehle übrigens 'meinen' Weg, also ein 's' voranzustellen, da beim Ausschneiden mit

Code: Alles auswählen

data$subj_3 <- substr(data$subj_neu, 2, 4)
keine Integer sondern ein String erzeigt wird, und dann hast du verschiedene Datentypen - Kann gut gehen, da ich aber deine Daten nicht kenne, bin ich mir nicht sicher.

Dank&Gruß
schubbiaschwilli

Re: Zusammenführung von Daten

Verfasst: So Jul 02, 2023 6:52 pm
von lxxa
Vielen Dank, ich habe es hinbekommen :)

Re: Zusammenführung von Daten

Verfasst: Fr Jul 07, 2023 7:00 pm
von Juergen
Oder du versuchst es über regex

Code: Alles auswählen

subj <- c("s345", "s637", "s839")
v1 <- c("80", "50", "30")
data2 <- data.frame(subj, v1)

Code: Alles auswählen

install.packages("stringr")
load: library(stringr)  

data2$subj  <-str_replace_all(data2$subj,"s", " ") 
Dann natürlich noch die "char" in "num" umwwandeln

Code: Alles auswählen

data2$subj <-  as.numeric(data2$subj)
Edit: Ergänzung