Input-validation and edge-case bugs found in the v1.1.0 audit
I maintainer di solito rispondono entro 1 giorno
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 15/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Ferma
- Stack tecnologico
- r
- Ambito
- analytics, data-visualization
Direzione di ricerca
This is a bundle of seven separate bugs, and pull request #238 is already open against it, so the work is claimed. Start from R/twsa.R:34 and R/create_sa.R:76-100, which show the outcome matching and the strategy-name checks. Each item needs a failing regression test before its fix. Done means every item has a test and NEWS has matching Bug fixes bullets.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Suggested owner: Jorge Roa · Plan: Phase 2b
Goal
Several functions give cryptic errors, or silently wrong results, on valid or near-valid input. Fix each item with a regression test.
Scope
twsa()on adsa_twowayobject fails with the defaultoutcome. Code-verified.R/twsa.R:34callsmatch.arg(outcome)only in thepsabranch.- The
dsa_twowaybranch passes the 6-element default straight tocalculate_outcome()(R/twsa.R:57). calculate_outcome()matches against a different 8-element choice vector (R/calculate_outcome.R:9-10), so the call errors with "'arg' must be of length 1".- Fix: move
outcome <- match.arg(outcome)above the branch.
make_psa_obj()with the wrong number of strategy names gives "missing value where TRUE/FALSE needed". Reproduced.- The comparison loop at
R/create_sa.R:76runs before the length check atR/create_sa.R:88. - Move the check first. Shared with #208.
- The comparison loop at
other_outcomecolumns are never renamed to the strategy names. Reproduced: names stayChemo_Cost Radio_Cost Surg_Cost.R/create_sa.R:94-100renamescostandeffectivenessonly.
plot.evsi()condition has a misplaced parenthesis. Code-verified.R/evsi.R:324:length(unique(x$WTP > 1))should belength(unique(x$WTP)) > 1.
- Dead
FUNvalidity guard in the DSA runners. Code-verified.R/run_dsa.R:77andR/run_dsa.R:247useis.na(sum(is.na(jj))), which is alwaysFALSE. This is the same pattern asR/run_psa.R:47in #174; fix it the same way.
plot.exp_loss(col = "bw")ignoreslsize. Code-verified.- The bw branch at
R/exp_loss.R:170-171callsgeom_line(aes(linetype = ...))withoutlinewidth = lsize. col_aes = c("color", "line")atR/exp_loss.R:175includes"line", whichadd_common_aes()does not handle.
- The bw branch at
max.col()random tie-breaking also affectscalc_exp_loss(). Code-verified.R/exp_loss.R:60:max.col(-exp_loss)uses the defaultties.method = "random".- Fix it together with #167 (
R/ceac.R:85), usingties.method = "first". See the proposed comment on #167 below.
Acceptance
Each item has a test that fails before the fix. NEWS gets "Bug fixes" bullets.
- Lingua principale
- R
- Stelle
- 43
- Fork
- 14
- Merge medio
- 4h 44m
- PR unite (30g)
- 15
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
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 DARTH-git/dampack
-
documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
I maintainer di solito rispondono entro 1 giorno
-
release
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
I maintainer di solito rispondono entro 1 giorno
-
documentation release
Difficoltà 3/5 1-2 giorni Idoneità per principianti 25/100
I maintainer di solito rispondono entro 1 giorno
-
documentation
Difficoltà 3/5 1-2 giorni Idoneità per principianti 58/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di DARTH-git/dampack
Issue simili
-
documentation priority: low
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
Pascal-Kueng/dyadMLM#179 ·
I maintainer di solito rispondono entro 1 giorno
-
Consider changesAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
OHDSI/OmopSketch#618 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
-
bug exec:agent status:fix-merged
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
ichirio/rtfreporter#1046 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno