Wie Sie die for-Schleife die Ausgabe als Daten.frame in R?
Ich würde gerne wissen, wie ich speichern kann die Ausgabe eines for loop
als data.frame
?
lassen Sie uns sagen, mit der mtcars
dataset ich habe Folgendes for loop
Skript:
for (i in seq_len(nrow(mtcars))) {
if (i <= 30) {
next
}
print(mtcars[i,])
}
mpg cyl disp hp drat wt qsec vs am gear carb
Maserati Bora 15 8 301 335 3.54 3.57 14.6 0 1 5 8
mpg cyl disp hp drat wt qsec vs am gear carb
Volvo 142E 21.4 4 121 109 4.11 2.78 18.6 1 1 4 2
aber wenn werde ich save
es in output
Datei als dataframe
ich bekomme die folgende:
output <- as.data.frame(c())
for (i in seq_len(nrow(mtcars))) {
if (i <= 30) {
next
}
output<- c(output,mtcars[i,])
}
### then the output is
> output
$mpg
[1] 15
$cyl
[1] 8
$disp
[1] 301
$hp
[1] 335
$drat
[1] 3.54
$wt
[1] 3.57
$qsec
[1] 14.6
$vs
[1] 0
$am
[1] 1
$gear
[1] 5
$carb
[1] 8
$mpg
[1] 21.4
$cyl
[1] 4
$disp
[1] 121
$hp
[1] 109
$drat
[1] 4.11
$wt
[1] 2.78
$qsec
[1] 18.6
$vs
[1] 1
$am
[1] 1
$gear
[1] 4
$carb
[1] 2
Ich weiß, die einfache Indizierung output <- mtcars[-(1:30), ]
, aber dies ist nicht eine Lösung für mein real-life situation (was ist komplexer). Ich brauche wirklich die Schleife zu tun, was ich will.
- Durch die Verwendung von c - () Sie sind das verketten einer Liste von Daten.frames. Mittels cbind() statt c() Sie würden bekommen, was Sie wollen
- würden Sie bitte Ihren code schreiben, für mich zu klären, was genau du meinst und wo es brauchen? tnx
- tnx für den Kommentar, aber es ist nicht hilfreich ! Ich wusste, dass dies der Punkt ist, wie kann es in der Schleife, und dies ist nur als Beispiel zu buddy! 🙂
- Ausgang <- wie.Daten.Rahmen(c()) for (i in seq_len(nrow(mtcars))) { if (i <= 30) { next } - Ausgabe<- cbind(output,mtcars[i,]) }
- Gibt es einen Fehler (hatte ich nicht getestet), aber verwenden Sie rbind() anstelle von cbind() und es funktioniert
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist eine Lösung, die die meisten ähnlich wie Ihre code.
Die Punkte werden mit der Initialisierung (Indizierung
...[NULL, ]
) und die Funktionrbind()