Ich bin auf der Suche nach einer Möglichkeit, einen Datenrahmen in Julia iterativ zu füllen.Iterativ füllen Datenfelder mit einer For-Schleife in Julia
Ich habe eine Arbeitsfunktion, die mehrere Punkte entlang einer Linie erstellt:
#function to draw QMD lines
using DataFrames
function make_lines(qmd)
BA=Float64[]
TPA=Float64[]
QMD=Int[]
for i in stk_percent
tpa= 1*(i*10)/(a[1]+a[2]*(-0.259+0.973*qmd)+a[3]*qmd^2)
ba=pi*(qmd/24)^2*tpa
push!(TPA,tpa)
push!(BA,ba)
push!(QMD,qmd)
end
return DataFrame(TPA=TPA,BA=BA,QMD=QMD)
end
Der nächste Schritt I zu erreichen versuche ist die make_lines Funktion in einer Schleife ausgeführt werden unter Verwendung eines vordefinierten Satz von Eingängen mit alle Ausgaben in einem einzigen Datenrahmen, aber ich kann es nicht zum Funktionieren bringen.
dia = [7, 8, 10, 12, 14, 16, 18, 20, 22]
# can't get for loop to append all the data frames?
for i in dia
df=DataFrame(TPA=Float64[],BA=Float64[],QMD=Int[])
append!(df,make_lines(i))
return df
end
Zuerst dachte ich, dass ich Dataframes benutze, ich habe Push nie benutzt! etc vor, aber ich habe diesen Code Chunk
zu arbeiten#this works to combine dataframe
test=make_lines(22)
test2=make_lines(8)
test[:]
append!(test,test2)
Warum also, wenn ich die for-Schleife laufen, beende ich nur mit dem letzten Datenrahmen bis es produziert?
Fehle ich etwas falsch? Von dem, was ich gelesen habe, arbeiten die Dataframes in Julia anders als die Daten in R, aber ich kann nicht sagen, wie das funktioniert.