我正在Pingouin.jl用來測驗正態性。
在他們的檔案中,我們有
dataset = Pingouin.read_dataset("mediation")
Pingouin.normality(dataset, method="jarque_bera")
哪個應該回傳DataFrame正常true或資料集中的false每個name。
目前,這種廣播已被棄用,我無法為每個唯一的列輸出(正在作業并輸出資料幀)將結果連接到一個資料幀中。
所以,到目前為止我所擁有的。
function var_norm(df)
norm = DataFrame([])
for i in 1:1:length(names(df))
push!(norm, Pingouin.normality(df[!,names(df)[i]], method="jarque_bera"))
end
return norm
end
我得到的錯誤:
julia> push!(norm, Pingouin.normality(df[!,names(df)[1]], method="jarque_bera"))
ERROR: ArgumentError: `push!` does not allow passing collections of type DataFrame to be pushed into a DataFrame. Only `Tuple`, `AbstractArray`, `AbstractDict`, `DataFrameRow` and `NamedTuple` are allowed.
Stacktrace:
[1] push!(df::DataFrame, row::DataFrame; promote::Bool)
@ DataFrames ~/.julia/packages/DataFrames/vuMM8/src/dataframe/dataframe.jl:1603
[2] push!(df::DataFrame, row::DataFrame)
@ DataFrames ~/.julia/packages/DataFrames/vuMM8/src/dataframe/dataframe.jl:1601
[3] top-level scope
@ REPL[163]:1
編輯:push!在我的第一個版本的帖子中沒有正確撰寫函式。但是,更改后錯誤仍然存??在。如何將型別的輸出DataFrame從 Pinouin重新格式化為DataFrameRow?
uj5u.com熱心網友回復:
作為Pengouin.normality回傳 a DataFrame,您將不得不迭代其結果并逐一推送:
df = Pengouin.normality(…)
for row in eachrow(df)
push!(norms, row)
end
如果你確定只Pengouin.normality回傳DataFrame一行,你可以簡單地寫
push!(norms, only(Pengouin.normality(…)))
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/348099.html
上一篇:如何根據選定的數字顯示文本欄位?
