Ich habe diese Frage zuvor gestellt und löse das Problem mit Sags Hilfe. Ich arbeite an einer Simulationsstudie. Ich muss meine Ergebnisse reorganisieren und mit der Analyse fortfahren.Speichere jede Iteration von for-Schleife
I habe eine Datenmatrix in der es kann die Ergebnisse wie diese
> data
It S X Y F
1 1 0.5 0.8 2.39
1 2 0.3 0.2 1.56
2 1 1.56 2.13 1.48
3 1 2.08 1.05 2.14
3 2 1.56 2.04 2.45
.......
Es zeigt Iteration S zeigt zweite Iteration enthält arbeitet X zeigen an X Koordinate aus einem Verfahren erhalten Y zeigt, die Y-Koordinate erhalten von einer Methode F zeigt die F-Statistik.
Mein Problem ist, dass ich für jede Iteration einen minimalen F-Wert finden muss. Also muss ich jede Iteration auf einer anderen Matrix oder einem anderen Datenrahmen speichern und einen minimalen F-Wert finden.
Ich habe viele Dinge ausprobiert, aber nicht funktioniert. Jede Hilfe, Idee wird geschätzt.
EDIT: Aktualisierte Tabelle Informationen
Dies war die Lösung:
Bibliothek (dplyr)
Daten%>% group_by (It)%>% Scheibe (which.min (F))
Tibble A: 3 x 5
Gruppen: It [3]
It S X Y F
1 1 2 0,30 0,20 1,56 2 2 1 1,56 2,13 1,48 3 3 1 2,08 1,05 2,14
Jedoch werde ich eine andere für Schleife fortzusetzen und I Ich möchte alle X-Werte auswählen, die obige Bedingungen erfüllen.
Zum Beispiel, wenn ich Daten $ X [i] verwende Dieser Code wählt nicht zu Werten von X (0.30, 1.56, 2.08). Es wählte ursprüngliche Werte aus "Daten" vor der Gruppierung. Wie kann ich dieses Problem lösen?
Können Sie ein reproduzierbares Beispiel bieten https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible -beispiel –
Was ist Ihre gewünschte Ausgabe? Wenn ein Minimum von 'F' für jeden Wert von' It' gefunden wird, wird 'sapply (unique (Daten $ It), Funktion (i) min (Teilmenge (Daten, It == i) $ F)' Arbeit? – tkmckenzie