В R, как мне установить класс S4 на основе класса другого объекта

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

  •  23-09-2019
  •  | 
  •  

Вопрос

Мне нужно создать объект типа ShortreadQ из библиотеки Shortread's BioConductor.

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

Качественный слот должен быть объектом, унаследованным от качества, о котором я могу легко определить из другого объекта ShortreadQ, который я хочу подражать.

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

Как лучше всего использовать эту информацию («sfastquality») в аргументе Intructor?

newObject<-ShortReadQ(sread=...,
             quality=SFastqQuality(...), 
             id=...)
Это было полезно?

Решение 3

Спасибо за ваши ответы. Они приводят меня к решению, которое работает

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

Другие советы

Это делает то, что вы хотите?

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

Вы можете понадобиться функции получить:

a <- get(class(object))
a(...)
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top