2017-05-16 1 views
0

Ich habe folgende Datenrahmenberechnen Differenz scrore über Faktoren in R

Class Behavior mean 
1  BH Baseline  5 
2  BH  Drnk  3 
3  BH  Lvr  2 
4  BH  Tone  1 
5  NB Baseline  6 
6  NB  Drnk  3 
7  NB  Lvr  2 

Ich möchte eine neue Spalte erzeugen, wo ich den Unterschied von der Basislinie für jede Klasse und Verhalten berechnet haben, so zum Beispiel:

Class Behavior mean diff 
1  BH Baseline  5  0 
2  BH  Drnk  3  2 
3  BH  Lvr  2  3 
4  BH  Tone  1  4 
5  NB Baseline  6  0 
6  NB  Drnk  3  3 
7  NB  Lvr  2  4 

Für jede Ebene der Klasse möchte ich den Unterschied zwischen Baseline und allen anderen Verhaltensweisen betrachten. Ich habe versucht, etwas mit dplyr, aber ich bin nur nicht sicher, wie Sie Berechnungen über factor Baseline machen. Deine Hilfe wird geschätzt.

Antwort

1

Mit dem Probeneingang

dd<-read.table(text=" Class Behavior mean 
1  BH Baseline  5 
2  BH  Drnk  3 
3  BH  Lvr  2 
4  BH  Tone  1 
5  NB Baseline  6 
6  NB  Drnk  3 
7  NB  Lvr  2", header=T) 

Sie die gewünschte Ausgabe dplry

library(dplyr) 
dd %>% group_by(Class) %>% 
    mutate(diff=mean[Behavior=="Baseline"]-mean) 
+0

mit leicht bekommen kann Sieht aus wie Sie beide 'plyr' und' dplyr' zu laden versuchen. Die Reihenfolge, in der Sie diese Informationen laden. Stellen Sie sicher, dass Sie zuerst 'plyr' laden. – MrFlick

Verwandte Themen