R错误中未使用的参数

时间:2013-12-02 14:05:49

标签: r

我是R的新手,我正在尝试运行“rebmix-help pdf”中给出的示例。它使用galaxy数据集,这里是代码

library(rebmix)
devAskNewPage(ask = TRUE)
data("galaxy")
write.table(galaxy, file = "galaxy.txt", sep = "\t",eol = "\n", row.names = FALSE,    col.names = FALSE)
REBMIX <- array(list(NULL), c(3, 3, 3))
Table <- NULL
Preprocessing <- c("histogram", "Parzen window", "k-nearest neighbour")
InformationCriterion <- c("AIC", "BIC", "CLC")
pdf <- c("normal", "lognormal", "Weibull")
K <- list(7:20, 7:20, 2:10)
for (i in 1:3) {
for (j in 1:3) {
for (k in 1:3) {
REBMIX[[i, j, k]] <- REBMIX(Dataset = "galaxy.txt",
Preprocessing = Preprocessing[k], D = 0.0025,
cmax = 12, InformationCriterion = InformationCriterion[j],
pdf = pdf[i], K = K[[k]])
if (is.null(Table))
Table <- REBMIX[[i, j, k]]$summary
else Table <- merge(Table, REBMIX[[i, j,k]]$summary, all = TRUE, sort = FALSE)
    }
 }
}

它给了我错误错误: 未使用的参数(InformationCriterion = InformationCriterion [j]) Plz帮助

3 个答案:

答案 0 :(得分:0)

我正在运行R 3.0.2(Windows),并且库rebmix定义了一个函数REBMIX,其中InformationCriterion未列为命名参数,但标准

简要调用REBMIX:

REBMIX[[i, j, k]] <- REBMIX(Dataset = "galaxy.txt",
    Preprocessing = Preprocessing[k], D = 0.0025,
    cmax = 12, Criterion = InformationCriterion[j],
    pdf = pdf[i], K = K[[k]])

答案 1 :(得分:0)

自创建OP中提到的示例以来,rebmix程序包似乎已进行了实质性更改。最值得注意的变化是使用S4类。

rebmix软件包中还有一个使用galaxy数据的更新演示(请参见demo("rebmix.galaxy")

要获取上面的示例以产生结果(注意:我不熟悉此软件包或rebmix算法!!! ):

  1. 按照@Giupo的说法将参数更改为Criterion
  2. 使用S4插槽访问运算符@代替$
  3. 不要命名结果对象REDMIX,因为它已经是函数名
library(rebmix)
data("galaxy")

## Don't re-name the REBMIX object!
myREBMIX <- array(list(NULL), c(3, 3, 3))
Table <- NULL
Preprocessing <- c("histogram", "Parzen window", "k-nearest neighbour")
InformationCriterion <- c("AIC", "BIC", "CLC")
pdf <- c("normal", "lognormal", "Weibull")
K <- list(7:20, 7:20, 2:10)

for (i in 1:3) {
  for (j in 1:3) {
    for (k in 1:3) {

      myREBMIX[[i, j, k]] <- REBMIX(Dataset = list(galaxy),
        Preprocessing = Preprocessing[k], D = 0.0025,
        cmax = 12, Criterion = InformationCriterion[j],
        pdf = pdf[i], K = K[[k]])
      if (is.null(Table)) {
        Table <- myREBMIX[[i, j, k]]@summary
      } else {
        Table <- merge(Table, myREBMIX[[i, j,k]]@summary, all = TRUE, sort = FALSE)
      }
    }
  }
}

答案 2 :(得分:0)

我想这太迟了。但是我在几分钟前遇到了类似的问题。我意识到当您遇到此类错误消息时可能会遇到的真实情况……这只是版本冲突

您可以使用与本教程不同的R软件包版本,因此在您所运行的代码和实际使用的代码之间,参数名称可能有所不同。

因此,请先先检查版本,然后再尝试手动编辑文件。同样,碰巧您的旧版本程序包仍在路径中,并且会覆盖新版本的程序包。这正是我所拥有的...因为我分别手动安装了旧版本和新版本...