Ich versuche, eine Funktion über jede Zeile eines DataFrame anzuwenden, wie der Code zeigt.Wie speichere ich Julia für Schleifenrückläufe in einem Array oder Datenframe?
using RDatasets
iris = dataset("datasets", "iris")
function mean_n_var(x)
mean1=mean([x[1], x[2], x[3], x[4]])
var1=var([x[1], x[2], x[3], x[4]])
rst=[mean1, var1]
return rst
end
mean_n_var([2,4,5,6])
for row in eachrow(iris[1:4])
println(mean_n_var(convert(Array, row)))
end
Anstatt Ergebnisse zu drucken, möchte ich sie jedoch in einem Array oder einem anderen DataFrame speichern.
Vielen Dank im Voraus.
Könnten Sie [Verständnis] versuchen (https: //docs.julialang. org/de/stable/manual/arrays/# Comprehensions-1): '[mean_n_var (konvertieren (Array, Zeile)) für Zeile in jedemrow (Iris [1: 4])]'? – Liso
Eine andere Alternative ist 'map':' map (row-> mean_n_var (convert (Array, row)), eachrow (iris [1: 4])) ' –
Um eine Matrix als Ausgabe zu erhalten, eine Kombination aus' reshape' und ein Verständnis: 'reshape ([v für Zeile in jedemrow (Iris [1: 4]) für v in mean_n_var (konvertieren (Array, Zeile))], 2, :)' –