Ich bin neu in R und hier und ich brauche etwas Hilfe, um meine Daten zu strukturieren.R: Entsprechender Wert von einem anderen Datenrahmen
Ich habe zwei Datensätze: Einer von ihnen ist ein lang-Format innerhalb von vorgegebenen Themen Daten, die groß ist und sieht ein bisschen wie folgt aus:
long.format <- data.frame(subject.no = c(1, 1, 1, 1, 2, 2, 2, 2), condition = c("prime", "prime", "prime", "prime", "control", "control","control","control"), response = c(1,1,1,0,1,1,1,0))
subject.no condition response
>1 1 prime 1
>2 1 prime 1
>3 1 prime 1
>4 1 prime 0
>5 2 control 1
>6 2 control 1
>7 2 control 1
>8 2 control 0
Der andere ist bereits im Wide-Format und Aussehen wie diese
wide.format <- data.frame(subject = c(1, 2), age = c(26,27), gender = c("m","f"))
subject age gender
>1 1 26 m
>2 2 27 f
Das einzige, was ich jetzt tun möchte, ist der Wert in „Zustand“ (und nur diese!) aus dem langen Formatdatenrahmen zu dem entsprechenden Thema in der breiten Datenrahmen zu erhalten, indem eine Zugabe neue Spalte im breiten Datenrahmen (durch Verwendung der Spalten subject.no und Thema, jeweils).
So ist der letzte Datenrahmen sollte wie folgt aussehen:
wide.format.aim <- data.frame(subject = c(1, 2), age = c(26,27), gender = c("m","f"), condition = c("prime","control"))
subject age gender condition
>1 1 26 m prime
>2 2 27 f control
Ich habe versucht, Zusammenführung aber mit einem langen Formatdatenrahmen mit den Informationen aus dem Breitformat-Datenrahmen hinzugefügt gelandet ... aber ich will es andersrum ...
Dies ist, was ich versucht habe:
test.it <- merge(x=wide.format, y=long.format[,c("subject.no", "condition")], all.x=T, by.x="subject", by.y="subject.no")
Irgendwelche Vorschläge?
Vielen Dank im Voraus!
habe ich versucht, Zusammenführung (sorry dies mit den realen Variablennamen ist) Test. it <- fusionieren (x = daten.values, y = daten [, c ("subjekt_nr", "Bedingung")], all.x = T, by.x = "vp.list", by.y = "subject_nr ") - aber das hat nicht funktioniert (wenn du magst, kann ich erklären, was in mehr Worten passiert ist ...) – Mathias
in Ordnung! hoffe, das ist jetzt einfach zu verstehen – Mathias