Setzen Ergebnisse der for-Schleife in einen Daten-frame in R
Ich habe eine Funktion, die zurückkehren wird eine numerische Objekt-Klasse, hier ist eine vereinfachte version:
count.matches <- function(x) {
ifelse(!is.na(a[,x] & a[,2]),1,0)
}
es nur, erzeugt ein Objekt von 0s und 1s.
Zum Beispiel
count.matches(4)
[1] 0 0 0 0 1 1 0
Ich will einfach nur eine einfache for-Schleife dieser Funktion und speichern Sie die Ergebnisse in einen Daten-frame, also jedes mal die Funktion durchläuft eine Spalte erzeugen, aber ich bin Probleme.
p <- data.frame()
my.matches <- for(i in 2:100) {
p[i,] <- count.matches(i)
}
Diese nichts produziert. Sorry, wenn dies ist eine wirklich dumme Frage, aber ich habe versucht ein paar Dinge, und nichts scheint zu funktionieren. Wenn Sie weitere Informationen benötigen, bitte lassen Sie mich wissen, und ich werde zur Verfügung stellen.
- Was macht ein Aussehen?
- Nicht wachsen Daten-frames (r-Objekte im Allgemeinen) innerhalb von Schleifen. Dies ist sehr ineffizient!
Du musst angemeldet sein, um einen Kommentar abzugeben.
for
nicht wieder den letzten Wert in der Schleife und kombinieren die Ergebnisse. Es gibtNULL
.Mit
for
erstellen Sie diedata.frame
erste, und füllen Sie es mit den Ergebnissen:Alternative könnten Sie die
foreach
- Paket, das bietet die Funktionalität, die Sie erwarten vonfor
.for
undforeach
ich habe stolperte viele Male!