Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Proposal to migrate `DelayedMask` to the DelayedArray package

Aberta
#122 0 comentários 0 reações 0 responsáveis Ver no GitHub

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

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de Bioconductor/DelayedArray

Todas as issues de Bioconductor/DelayedArray

Issues semelhantes

Mais issues de R

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.