Proposal to migrate `DelayedMask` to the DelayedArray package
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 20/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Da chiarire
- Stato di attività
- Ferma
- Stack tecnologico
- r
- Ambito
- data, performance
Direzione di ricerca
Inizia esaminando l’implementazione di DelayedMask in alabaster.matrix e la gestione ritardata di [<- di DelayedArray, inclusi DelayedNaryIsoOp e le chiamate a extract_*_array(). Determina se la migrazione o il masking generalizzato debba rientrare in DelayedArray e documenta il comportamento proposto e i compromessi in termini di efficienza; il completamento richiede un ambito di implementazione concordato o una decisione dei maintainer.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
My alabaster.matrix package has a DelayedMask class that replaces all instances of a placeholder with an NA value during extract_*_array() calls. Essentially, it is equivalent to:
library(DelayedArray)
y <- DelayedArray(matrix(rbinom(100, 1, 0.2), ncol=5))
placeholder <- 1
z <- y
z[z == placeholder] <- NA
# Gives the same (abstract) matrix contents as:
alabaster.matrix::DelayedMask(y, placeholder)
AFAICT the DelayedMask approach should be more efficient as the DelayedMask only realizes one matrix while the delayed [<- requires realization of both z and z == placeholder. (Currently DelayedMask is literally for masking NAs but it could be generalized to handle more boolean operations, e.g., so z[z > cap] <- cap could be used to upper-bound the contents of the matrix.)
Would this be of interest to the DelayedArray package? Perhaps there might be an easy way that we can detect that the logical subset is generated from the same matrix that it is operating on in [<-, and switch from creating a DelayedNaryIsoOp to a DelayedMask.
- Lingua principale
- R
- Stelle
- 29
- Fork
- 12
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
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 Bioconductor/DelayedArray
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 38/100
Bioconductor/DelayedArray#129 · 11 commenti ·
-
Custom delayed operations Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
Bioconductor/DelayedArray#127 · 1 commento ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
Bioconductor/DelayedArray#125 · 1 commento ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
Bioconductor/DelayedArray#123 ·
-
`base::cbind()` Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
Bioconductor/DelayedArray#116 · 3 commenti ·
Tutte le issue di Bioconductor/DelayedArray
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
robjhyndman/forecast#1220 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
JamesHWade/deputy#192 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
bug triage_needed
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
pharmaverse/rtables#1123 · 1 commento · 1 reazione ·