R:"Arguments to methods() must be named, or one named list"中的错误消息



我是在R中创建类和方法的新手,我遇到了一个问题,我没有找到太多的文档。我已经创建了一个类,' dataiport ',并试图添加下面的方法:

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

当我运行这段代码,我得到以下错误:

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

我可以在这个之前直接添加一个方法,它工作得很好,但这个不行。我不太明白为什么会出现这种情况,也不知道如何解决。

正如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

给出了您所看到的错误。这样做的原因是<-算子与=算子略有不同。这通常不重要(但在这里重要)。

相关内容

最新更新