2013-03-27 9 views
0

我是新來的R中創建類和方法,正在到,我還沒有找到多少文檔上的問題。我創建了一個類,「DataImport」,並正嘗試添加下面的方法:錯誤消息:「方法的參數()必須被命名,或一個指定列表中的」

DataImport$methods(reducedImport <- function(filePathOne, dataFrame) 
    { 

    } 
) 

當我運行這段代碼,我發現了以下錯誤:

Error in DataImport$methods(reducedImport <- function(filePathOne, : 
    Arguments to methods() must be named, or one named list 

我能直接在這個之前添加一個方法,它工作正常,但這不是。我不太明白爲什麼會這樣或者如何解決這個問題。

+0

請仔細閱讀本:http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example – Dason 2013-03-27 17:27:21

+0

謝謝你的回覆。我不確定我是否理解這個建議。我不使用任何dataframes或數據,除了上述的,我試圖運行看到的方法的唯一代碼類定義,DataImport < - setRefClass(「DataImport」,字段= C(「的startDate」)) 。這個類的定義,並在原來的職位的方法應是一個類,而我只是想定義一個類,這樣我可以用它在數據幀上,並在今後的文件路徑。當我運行這兩個代碼塊時,我得到了我提到的錯誤。我誤解了R中類的使用嗎? – tjnel 2013-03-27 17:36:52

+0

你應該在你的問題中包含該類的定義。 – Dason 2013-03-27 17:44:12

回答

1

由於達誠在評論中提到,你的問題是與分配。讓我們創建一個簡單的例子:

c1 = setRefClass("c1", fields = list(data = "numeric")) 
c1$methods(m1 = function(a) a) 

現在一個快速測試:

x = c1$new(data=10) 
x$m1(1) 

然而,

R> c1$methods(m2 <- function(a) a) 
Error in c1$methods(m2 <- function(a) a) : 
    Arguments to methods() must be named, or one named list 

讓你看到錯誤。這樣做的原因是,<-運營商與運營商=slightly different。這通常不重要(但它在這裏)。

相關問題