我是新的R,我试图运行的例子是在“rebmix-helppdf”。它使用银河数据集,这里是代码
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 help
3条答案
按热度按时间qvsjd97n1#
我运行的是R 3.0.2(Windows),rebmix库定义了一个函数REBMIX,其中InformationCriterion没有作为命名参数列出,而是Criterion。
简要调用REBMIX为:
bzzcjhmw2#
看起来自从OP中提到的例子创建以来,
rebmix
包有了实质性的变化,其中最值得注意的变化是S4类的使用。rebmix包中还有一个使用
galaxy
数据的更新演示(参见demo("rebmix.galaxy")
)要得到上面的例子产生的结果(* 注:我不熟悉这个包或rebmix算法!!!*):
1.如@Giupo所述,将参数更改为
Criterion
1.使用S4插槽访问操作符
@
而不是$
1.不要将结果对象命名为
REDMIX
,因为这已经是函数名了ybzsozfc3#
我想这有点晚了。但是我在几分钟前遇到了一个类似的问题。我意识到当你收到这种错误消息时,你可能会面临的真实情况......这只是版本冲突。
您可能使用教程中不同版本的R包,因此您正在运行的参数名称可能与真实的代码使用的参数名称不同。
因此,请在尝试手动编辑文件之前检查版本。此外,碰巧您的旧版本软件包仍然在路径中,并且它覆盖了新版本。这正是我所拥有的......因为我手动安装了旧版本和新版本......