bin and reduce
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
Direzione di ricerca
Esamina lo schema proposto binned(x, y, bins, μ, Ε), usando fit(Histogram) e StatsBase.binindex come punti di ingresso indicati. Confronta il raggruppamento 2D richiesto e l’output degli intervalli di confidenza con le API esistenti di StatsBase, quindi aggiungi test mirati per input di uguale lunghezza, bins vuoti e la tupla restituita; nell’issue non è indicato alcun file di test.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
I very regularly want to bin some 2D data based on the first element and then apply a grouping function to the 2nd element.
I wrote this for 2D case, but I have similar functions for the 3D case (bin on x,y and apply function to z)
"""
`binned(x,y,bins, μ, Ε)`
Takes vectors `x,y` of equal length than bins `x` according to `bins`. Apply `µ,E` (often mean) to `y` grouped by bins of `x`.
`µ` is any function that takes a vector and return a number (usually `mean`)
`E` is any function that takes a vector and returns a 2-element iterable, which represent the lower and upper CI for that bin.
Returns a 3-tuple with `(bin_c, µ_y, E_y)` such that you can plot the results with `plot(bin_c, µ_y, yerr=E_y)`
"""
binned(x,y, bins, μ, Ε) = begin
@assert length(x) == length(y)
h = fit(Histogram, x, bins)
ox = (bins[1:end-1] + bins[2:end])/2
xmap = StatsBase.binindex.(Ref(h), x)
oy = [sum(z.==xmap) > 0 ? μ(y[z.==xmap]) : NaN for z in 1:length(ox)]
oe = [sum(z.==xmap) > 0 ? Ε(y[z.==xmap]) : [NaN, NaN] for z in 1:length(ox)]
# This returns a long list of 2-tuples, but we want a 2-tuple of vectors
(ox, oy, (oy .- (x->x[1]).(oe), (x->x[2]).(oe) .- oy))
end
would something like this (but cleaned up/tested/etc) fit into StatsBase?
- Lingua principale
- Julia
- Stelle
- 614
- Fork
- 197
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di JuliaStats/StatsBase.jl
-
TransformationsAperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
JuliaStats/StatsBase.jl#1012 ·
-
Data loss with floating-point `Histogram`sForse già presa @andreasnoack l’ha presa 39 giorni fa. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 78/100
JuliaStats/StatsBase.jl#1009 ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
JuliaStats/StatsBase.jl#1006 · 2 commenti ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
JuliaStats/StatsBase.jl#998 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 52/100
JuliaStats/StatsBase.jl#995 ·
Tutte le issue di JuliaStats/StatsBase.jl
Issue simili
-
TSDAE's docstring implies a theta argument it does not takeForse già presa @singhharsh1708 l’ha presa oggi. Apertadocumentation
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 74/100
SciML/PETScDiffEq.jl#282 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement good first issue help wanted
Difficoltà 2/5 Mezza giornata Idoneità per principianti 82/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
SciML/SciMLBase.jl#1643 ·
I maintainer di solito rispondono entro 2 giorni
-
authority-vechtstromen ready-for-agent
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 75/100
Deltares/Ribasim-NL#890 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno