Ich habe eine data.frame
mit verschachtelten Gruppen (produziert mit summarize
in dyplr
). Jeder Fall enthält 2 Gruppen. Für jede der beiden Gruppen habe ich einen Maximalwert einer anderen Variablen und ein Minimum. Also für jeden Fall habe ich 2 Max und 2 Min Werte. Was ich versuche, ist eine neue Indikatorvariable zu erstellen, die unter bestimmten Bedingungen in Gruppen codiert ist. Hier einige Code, der Beispieldaten erzeugt, die wie meine aussehen:Vergleichen von max und min über Gruppen in R
data <- expand.grid(groupID=1:2, caseID=1:3)
data$max <- rnorm(nrow(data))
data$min <- rnorm(nrow(data))
So sehen die Grunddaten wie folgt aus:
> data
groupID caseID max min
1 1 1 -0.17317875 -0.65772183
2 2 1 -0.32221584 1.39254577
3 1 2 0.33535437 -1.55013998
4 2 2 -0.03950875 1.24181830
5 1 3 1.00759879 -1.29394582
6 2 3 0.28469228 -0.03454565
Was ich will, ist ein Indikator, einzigartig für jede caseID, die erzeugt wird, durch Vergleichen von Werten über die Gruppen-ID. Sprich, wenn die der max der Gruppe 1 ist größer als die min der Gruppe 2:
groupID caseID max min newVar
1 1 1 -0.17317875 -0.65772183 0
2 2 1 -0.32221584 1.39254577 0
3 1 2 0.33535437 -1.55013998 0
4 2 2 -0.03950875 1.24181830 0
5 1 3 1.00759879 -1.29394582 1
6 2 3 0.28469228 -0.03454565 1
Ihre Zufallsdaten nicht haben max> min, allgemein. – Frank