2010-11-19 69 views
0

创建一个新的类的新方法我而对于一个新的类错误而中的R

> setClass(“CIR”,表示(PATH =“数字”,GRID创建一个新的方法得到了一个错误=“numeric”,PARAMS =“numeric”));
[1] “CIR”
>
>使用setMethod( “情节”,签名(X = “CIR”),
+函数(X){
+情节(时隙(X, “网格” ),slot(x,“PATH”),col =“red”,cex = 0.5),slot(x,“PATH”),type =“l”)
+
+})
错误as.environment(其中):对于 'as.environment'

我怎样才能解决呢无效的对象?谢谢!

回答

2

您在包含setMethod的行末尾有两个逗号,这意味着您无意中将definition留空并将where设置为一个函数。试试这个:

setMethod("plot", signature(x="CIR"), 
    function(x) { 
    plot(slot(x,"GRID"),slot(x,"PATH"),type="l") 
    points(slot(x,"GRID"),slot(x,"PATH"),col="red",cex=0.5) 
})