Proposal to migrate `DelayedMask` to the DelayedArray package
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 20/100
- Tipo de issue
- Funcionalidade
- Clareza
- Precisa de esclarecimento
- Status de atividade
- Estagnada
- Stack de tecnologia
- r
- Domínio
- data, performance
Direção de pesquisa
Comece revisando a implementação de DelayedMask em alabaster.matrix e o tratamento adiado de [<- de DelayedArray, incluindo DelayedNaryIsoOp e as chamadas a extract_*_array(). Determine se a migração ou o mascaramento generalizado deve ficar em DelayedArray e documente o comportamento proposto e as compensações de eficiência; a conclusão exige um escopo de implementação acordado ou uma decisão dos maintainers.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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.
- Linguagem predominante
- R
- Estrelas
- 29
- Forks
- 12
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Guia de contribuição
Nenhum guia de contribuição indexado para este repositório
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de Bioconductor/DelayedArray
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 38/100
Bioconductor/DelayedArray#129 · 11 comentários ·
-
Custom delayed operations Aberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 45/100
Bioconductor/DelayedArray#127 · 1 comentário ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 25/100
Bioconductor/DelayedArray#125 · 1 comentário ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 45/100
Bioconductor/DelayedArray#123 ·
-
`base::cbind()` Aberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
Bioconductor/DelayedArray#116 · 3 comentários ·
Todas as issues de Bioconductor/DelayedArray
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
easystats/performance#950 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
briandconnelly/airnow#9 ·
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
OHDSI/CohortConstructor#774 ·