mean(), anyNA(), and members of "Summary" group generic should "untranspose"
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 32/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- r
- Ambito
- data, performance
Direzione di ricerca
Inizia individuando le implementazioni di mean(), anyNA() e del generico del gruppo "Summary" per gli oggetti DelayedArray, quindi esamina DelayedAperm e simplify(). Segui il tronco delle operazioni differite descritto nell’issue e determina come si potrebbe applicare un aperm() inverso prima del calcolo. Il lavoro è completato quando queste operazioni preservano i propri risultati evitando al contempo una trasposizione differita non necessaria quando la semplificazione accorcia l’albero.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Delayed transposition (t() or aperm()) significantly slows down block processing of a DelayedMatrix or DelayedArray object. However the result of block-processed operations like mean(), anyNA(), and members of the "Summary" group generic does not change if the input is transposed. So these operations should be smart enough to "untranspose" their input in order to be faster.
The exact algorithm for "untransposing" could be:
- Go up the tree of delayed ops in
xuntil a DelayedAperm op is found. Only climb the trunk of the tree i.e. start fromx@seedand go up only if there is exactly 1 "next seed", that is, if the current seed is a DelayedUnaryOp object. Stop on the first DelayedAperm op (i.e. the most recently applied DelayedAperm op), or when the next seed is no longer a DelayedUnaryOp object. - If no DelayedAperm op was found then there is nothing to do.
- If a DelayedAperm op is found, do
y <- aperm(x, ....)where the exactaperm()transformation is the reverse of this DelayedAperm op. The tree trunk inyshould be either shorter than the tree trunk inx(if the 2 DelayedAperm ops could be simplified) or longer (if they couldn't). If it's shorter then replacexwithybefore computingmean(),anyNA(), etc...
The advantage of this algo is that it doesn't need to know anything about the delayed ops found between the root of the tree and the first DelayedAperm op found on the trunk. It just relies on simplify().
- 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 · 4 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 ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
Bioconductor/DelayedArray#122 ·
Tutte le issue di Bioconductor/DelayedArray
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
r-lib/pkgdepends#485 · 3 commenti ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
-
beginners blocker
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
enviPathR ApertaBuild Error Build OK Build Warning policies-accepted pre-review precheck-passed
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 84/100
Bioconductor/BiocContributions#207 · 6 commenti ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
datacarpentry/semester-biology#1255 ·