R中的错误消息:“必须命名方法()的参数,或者命名列表”

时间:2013-03-27 17:17:25

标签: r class methods reference-class

我是在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

我能够在此之前直接添加一个方法,它工作正常,但这个方法没有。我不太明白为什么会是这种情况或如何解决它。

1 个答案:

答案 0 :(得分:1)

正如Dason在评论中提到的,你的问题在于作业。让我们创建一个简单的例子:

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。这一般无关紧要(但确实如此)。