Güçlü doğrusal modellere sahip yuvalara sahip bir S4 sınıfı oluşturmak istiyorum.Güçlü doğrusal modeller için S4 sınıfında nasıl yuva oluşturabilirim?
Sağlam doğrusal modeller, MASS
paketinden bir doğrusal model türüdür. Doğrusal bir modelin sahip olduğu tüm bilgileri ve biraz daha fazlasını taşırlar. Bir rlm
içeren bir nesne başlatılırken, beklenen nesneyi üreten başarısız
.MyClass <- setClass("MyClass", list(a="lm", id="numeric"))
bile .MyClass(a=mylm, id=1)
olsa: İşte
library(MASS)
x <- 1:5
y <- 1:5
mylm <- lm(x~y)
myrlm <- rlm(x~y)
benim sınıftır ben sanırdım
> .MyClass(a=myrlm, id=1)
Error in validObject(.Object) :
invalid class “MyClass” object: 1: invalid object for slot "a" in class "MyClass": got class "rlm", should be or extend class "lm"
invalid class “MyClass” object: 2: invalid object for slot "a" in class "MyClass": got class "lm", should be or extend class "lm"
o
is(myrlm, "lm")
getiri beri
TRUE
bir sorun olmaz ve nesne yuvaya sığabilir. Ayrıca, bana iki kez geçersiz bir nesne yarattığımı söylediği için, neden
lm
'un kendisinin olmadığını söyleyen ikinci neden?
lm
sanal bir sınıf olduğu için mi?
Temsili (lm
ve rlm
her ikisi de listeler olduğu için) a="list"
ayarlamayı denedim, ancak benzer bir hata üretir. Yuva farklı bir sınıf türüne mi ihtiyaç duyar? Ayrıca a="rlm"
ayarlamayı denedim, ancak rlm
tanımlı sınıf değil.
harika bir soru. S3/S4 uyuşmazlıklarının içine düştüğünden şüpheleniyorum, ama umarım (sizin iyiliğiniz için) siz değilsinizdir. S3 "rlm" sınıfını kapsayan/saran bir S4 sınıfı oluşturmayı deneyebilirsiniz (???)? –