Em R, como faço para definir uma classe S4 com base na classe de outro objeto

StackOverflow https://stackoverflow.com/questions/2359444

  •  23-09-2019
  •  | 
  •  

Pergunta

Preciso criar um objeto do tipo ShortreadQ da biblioteca Shortread do Bioconductor.

ShortReadQ 'signature(sread = "DNAStringSet", quality =
          "QualityScore", id = "BStringSet")'

O slot de qualidade precisa ser um objeto herdando da QualityScore, do qual posso determinar facilmente a partir de outro objeto Shortreadq que desejo imitar.

> class(quality(anotherObject))
[1] "SFastqQuality"
attr(,"package")
[1] "ShortRead"

Qual é a melhor maneira de usar essas informações ("SfastQquality") no argumento do contrato?

newObject<-ShortReadQ(sread=...,
             quality=SFastqQuality(...), 
             id=...)
Foi útil?

Solução 3

Obrigado por suas respostas. Eles me levam a uma solução que funciona

newObject<-ShortReadQ(sread=...,
             quality=new(Class=class(quality(anotherObject)),theFirstParameter=...), 
             id=...)

Outras dicas

Isso faz o que você quer?

quality = new(class(old.quality.obj)[[1]]))

Você pode querer a função Get:

a <- get(class(object))
a(...)
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top