format_ae_listing(): AE duration set to NA (not "Unknown") for outcomes outside two hardcoded values
I maintainer di solito rispondono entro 1 giorno
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 75/100
Direzione di ricerca
Il bug si trova in R/ae_listing.R intorno alle righe 394-402 nella funzione format_ae_listing(). Per prima cosa, leggere la funzione per capire come vengono utilizzati ADURN e AEOUT. Quindi, creare un piccolo test per riprodurre il problema con gli esempi forniti. La correzione consiste nel sostituire le chiamate charmatch() con un test di appartenenza esatto utilizzando %in%. Dopo aver apportato la modifica, eseguire eventuali test esistenti per questa funzione per assicurarsi che la correzione funzioni e non interrompa altri comportamenti.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
When ADURN is missing, format_ae_listing() derives the Duration value from AEOUT (R/ae_listing.R, around lines 394-402):
na_dur <- is.na(res[["ADURN"]])
if (any(na_dur)) {
aeout_na <- toupper(res[["AEOUT"]][na_dur])
res[["Duration"]][na_dur] <- ifelse(
charmatch(aeout_na, "RECOVERING/RESOLVING") > 0 |
charmatch(aeout_na, "NOT RECOVERED/NOT RESOLVED") > 0,
"Continuing", "Unknown"
)
}
Two problems with charmatch() here:
-
NAleaks into the result.charmatch(x, table)returnsNAwhenxmatches nothing intable. For any outcome that is neitherRECOVERING/RESOLVINGnorNOT RECOVERED/NOT RESOLVED(e.g.FATAL,RECOVERED/RESOLVED), bothcharmatch()calls returnNA, so theifelse()condition isNA | NA = NAandifelse(NA, ...)yieldsNA. The intended fallback"Unknown"is never reached for those rows. -
Silent prefix matching.
charmatch()does partial (prefix) matching, socharmatch("R", "RECOVERING/RESOLVING")returns1. An exact comparison was almost certainly intended.
Reproducer:
f <- function(aeout) ifelse(
charmatch(aeout, "RECOVERING/RESOLVING") > 0 |
charmatch(aeout, "NOT RECOVERED/NOT RESOLVED") > 0,
"Continuing", "Unknown")
f("FATAL") # NA (expected "Unknown")
f("RECOVERED/RESOLVED") # NA (expected "Unknown")
Suggested fix: use an exact set-membership test instead of charmatch():
res[["Duration"]][na_dur] <- ifelse(
aeout_na %in% c("RECOVERING/RESOLVING", "NOT RECOVERED/NOT RESOLVED"),
"Continuing", "Unknown"
)
This affects normal, valid data whenever a subject has a missing AE duration and an outcome outside the two listed categories.
- Lingua principale
- R
- Stelle
- 22
- Fork
- 6
- Merge medio
- 1g 8h
- PR unite (30g)
- 9
Preparare l'ambiente
Non abbiamo ancora controllato i file di configurazione di questo progetto. 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 Merck/forestly
-
plot.R: non-NA row-count filter collapses to a scalar, giving wrong point nudge spacingForse già presa @yihui l’ha presa 4 giorni fa. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
I maintainer di solito rispondono entro 1 giorno
-
format_ae_listing(): AEDOSDUR parser errors on repeated Y/M/D designator and is not vectorizedForse già presa @yihui l’ha presa 4 giorni fa. Apertabug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 65/100
I maintainer di solito rispondono entro 1 giorno
-
Render AE drill-down listings lazily to shrink the ae_forestly() widgetForse già presa @yihui l’ha presa 3 giorni fa. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
Merck/forestly#158 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
Add `ae_listing_label = ...` to `prepare_ae_forestly()`Forse già presa @fukuhiro2023 l’ha presa 10 giorni fa. Aperta
Merck/forestly#152 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di Merck/forestly
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
datacarpentry/semester-biology#1266 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
REditorSupport/vscode-R#1785 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
ImperialCollegeLondon/ve_data_science#666 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
I maintainer di solito rispondono entro 13 giorni