2016-10-09 3 views
0

Ich habe ein Experiment gemacht, in dem Teilnehmer eine Aufgabe in Paaren mit einem anderen Teilnehmer unter zwei verschiedenen Bedingungen gelöst haben. Jeder Teilnehmer hat dann eine Punktzahl erhalten, wie gut er die Aufgabe einzeln erledigt hat (Punktzahl), aber das Paar hat auch eine Punktzahl erhalten, wie gut sie zusammen gespielt haben (Punktzahl). Wichtig ist, dass die Paare unterschiedliche Versuche durchlaufen haben und manchmal ein Mitglied eines Paares in einer Studie fehlt (bitte beachten). Selbst wenn ein Mitglied in einer Testversion fehlt, kann es dennoch zur Paarbewertung beitragen.Wie kann ich nur einen Paarwert pro Test abrufen (in jeder Bedingung)? (R)

Ich habe einen Datenrahmen ähnlich den unten:

participant <- c(1,2,1,2,3,4,3,4,4,4,6,8) 
pair <- c(1,1,1,1,2,2,2,2,2,2,3,3) 
condition <- (1,1,2,2,1,1,2,2,1,2,2,1) 
trial <- c(1,1,1,2,1,2,3,1,2,3,1,1) 
score <- c(2,3,6,3,4,7,3,1,8,5,4,3) 
data <- data.frame(participant, pair, trial, score) 

participant pair Condition trial score pair score 
    1   1  1  1  2   5 
    2   1  1  1  3   5 
    1   1  2  2  6   9 
    2   1  2  2  3   9 
    3   2  1  1  4   11 
    4   2  1  1  7   11 
    3   2  2  2  3   4 
    4   2  2  2  1   4 
    4   2  1  3  8   12 (pls note) 
    4   2  2  4  5   6 (pls note) 
    6   3  2  1  4   8 (pls note) 
    8   4  1  1  3   4 (pls note) 

Ich mag würde eine Analyse auf Ebene Paar in jedem Versuch tun, so möge ich nur einen Wert von jedem Versuch von jedem Paar. Weiß einer von euch, wie ich aus jedem Versuch nur ein Paar erhalte?

Der Datenrahmen sollte nach oben schauen, um etwas am Ende wie folgt:

pair Condition trial pair score 
    1  1  1  5 
    1  2  2  9 
    2  1  1  11 
    2  2  2  4 
    2  1  3  12 
    2  2  4  6 
    3  2  1  8 
    4  1  1  4 

Wenn jemand helfen kann, werden Sie meinen Tag!

+1

Wie die Paartreffer abgeleitet werden? – jdobres

Antwort

1

Ich denke, das ist das, was Sie suchen

data[!duplicated(data[,c(2,4)]),-c(1,5)] 

EDIT:

Hier die korrigierten Daten, die gleiche ist wie der in der Frage gedruckt

participant <- c(1,2,1,2,3,4,3,4,4,4,6,8) 
pair <- c(1,1,1,1,2,2,2,2,2,2,3,4) 
condition <- c(1,1,2,2,1,1,2,2,1,2,2,1) 
trial <- c(1,1,2,2,1,1,2,2,3,4,1,1) 
score <- c(2,3,6,3,4,7,3,1,8,5,4,3) 
pair_score <- c(5, 5, 9, 9, 11, 11, 4, 4, 12, 6, 8, 4) 
data <- data.frame(participant, pair, condition, trial, score, "pair score" = pair_score) 

und Laufen Der Code auf der Oberseite gibt mir die folgende Ausgabe:

## pair condition trial pair.score 
## 1  1   1  1   5 
## 3  1   2  2   9 
## 5  2   1  1   11 
## 7  2   2  2   4 
## 9  2   1  3   12 
## 10 2   2  4   6 
## 11 3   2  1   8 
## 12 4   1  1   4 

EDIT2:

vergessen diese Bedingung

1

Versuchen hinzuzufügen. Dennoch, das Beispiel, das Sie uns gezeigt haben, stimmt nicht mit den bereitgestellten Vektoren überein, denke ich? ... Also, sobald Sie den "Pair Score" berechnet haben, funktioniert meine Lösung.

participant <- c(1,2,1,2,3,4,3,4,4,4,6,8) 
pair <- c(1,1,1,1,2,2,2,2,2,2,3,3) 
condition <- c(1,1,2,2,1,1,2,2,1,2,2,1) 
trial <- c(1,1,1,2,1,2,3,1,2,3,1,1) 
score <- c(2,3,6,3,4,7,3,1,8,5,4,3) 
pair_score <- c(5,5,9,9,11,11,4,4,12,6,8,4) 
data <- data.frame(participant, pair, condition, trial, score, "pair.score" = pair_score) 

unique_pairscore = unique(pair_score) 

data2 <- data.frame("pair"=rep(NA,length(unique_pairscore)), 
        "condition"=rep(NA,length(unique_pairscore)), 
        "trial" = rep(NA,length(unique_pairscore)), 
        "pair.score"=unique_pairscore) 

for(i in 1:nrow(data2)){ 
    data2[i,c("pair","condition","trial")] <-data[ which(data[,"pair.score"] == data2[i,"pair.score"])[1],c("pair","condition","trial")] 
} 

data ist:

participant pair condition trial score pair.score 
      1 1   1  1  2   5 
      2 1   1  1  3   5 
      1 1   2  1  6   9 
      2 1   2  2  3   9 
      3 2   1  1  4   11 
      4 2   1  2  7   11 
      3 2   2  3  3   4 
      4 2   2  1  1   4 
      4 2   1  2  8   12 
      4 2   2  3  5   6 
      6 3   2  1  4   8 
      8 3   1  1  3   4 

data2 ist:

pair condition trial pair.score 
    1   1  1   5 
    1   2  1   9 
    2   1  1   11 
    2   2  3   4 
    2   1  2   12 
    2   2  3   6 
    3   2  1   8 
Verwandte Themen