Ich versuche, die Werte zu einem Teilnehmer Experiment suchen und summieren sie für die Teilnahme jedes Teilnehmers in jedem Experiment.R Übereinstimmung Spaltenname und Pull-Werte
Wenn der Teilnehmer eine 1 in Spalte A hat, bedeutet dies, dass sie Experiment A ausgesetzt waren. Ich möchte dann die 3 Werte von Experiment A abrufen und die Werte für jede Experimentexposition für jeden Teilnehmer summieren.
df:
Participant A B
1 1 1
2 1 0
3 0 1
Mein Lookup Datenrahmen:
Experiment Val1 Val2 Val3
A 1.1 1.2 1.3
B 1.0 1.1 1.5
Für eine Folge von df:
Id A B Val1 Val2 Val3
1 1 1 2.1 2.3 2.8
2 1 0 1.1 1.2 1.3
3 0 1 1.0 1.1 1.5
Mein wahren Daten-Set hat 64 Fälle von Experimenten mit 7.000 Teilnehmern.
Für jede Zeile Für jede Spalte
Wenn Spalt i = 1, Spiel column $ Experiment zum Nachschlagen
Val1 hinzufügen: Meine Stenografie, was diese aussehen würde, aussehen würden Val3 in einem
Temp Arraydann fügen Temp Array in df
Jede mögliche Hilfe würde geschätzt! Ich bin mir nicht sicher, ob dies eine Match- oder Merge-Funktion ist.
Daten
df = structure(list(Participant = 1:3, A = c(1L, 1L, 0L), B = c(1L,
0L, 1L)), .Names = c("Participant", "A", "B"), row.names = c(NA,
-3L), class = "data.frame")
lookup = structure(list(Experiment = c("A", "B"), Val1 = c(1.1, 1), Val2 = c(1.2,
1.1), Val3 = c(1.3, 1.5)), .Names = c("Experiment", "Val1", "Val2",
"Val3"), row.names = c(NA, -2L), class = "data.frame")
Zweite Linie sein könnte 'cbind (df [1 ], Ergebnis) ' – Frank