我正在尝试将GAMens包用于一个非常简单的人工数据集的“一维数据集”(一个预测器和一个响应):
library(GAMens)
trainingdata <- read.table("D:/data.txt", header = TRUE, sep="\t")
trainingdata.GAMrsm <- GAMens(class~., trainingdata, 1, autoform=TRUE, iter=10, rsm=FALSE)
不幸的是我得到了:
[.data.frame
中的错误(data ,, as.character(formula [[2]])):
选择了未定义的列
也许我错过了一些东西但是应该可以让这个用于一维情况('维度'更好一个工作正常)。感谢。
编辑:
这是人工数据的生成方式:
n.site <- 150
X1<- sort(runif(n = n.site, min = -1, max =1))
xb <- 0.0 + 3.0*X1
occ.prob <- 1/(1+exp(-xb))
true.presence <- rbinom(n = n.site, size = 1, prob = occ.prob)
data <- data.frame(X1, true.presence)
write.matrix(data, file = "data.txt", sep = "\t")
或者您可以在此处下载数据:
答案 0 :(得分:2)
您的data
输入没有名为“class”的列,因此您使用的公式class ~ .
无效。当然,错误信息不是很有用......
这似乎有效(但慢慢地,它在10分钟后仍在运行):
trainingdata.GAMrsm&lt; - GAMens(true.presence~X1,data,1,autoform = TRUE,iter = 10,rsm = FALSE)
答案 1 :(得分:1)
该问题已在新版本的软件包中解决。请通过CRAN存储库下载GAMens软件包的1.1.2版本。
祝你好运