2012-02-28 9 views
2

私は非常に単純な人為的なデータセットのための「1次元のデータセット」(1つの予測因子と1つの応答)のためGAMensパッケージを使用しようとしています: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でエラーが発生しました(データ、as.character(式は、[[2]])): 未定義の列は、たぶん私は何かが欠けているが、これは1のために働くことを得ることが可能であるべきであるであるのです

を選択3次元のケース( 'dimensions' greatうーん、うまく働く)。ありがとう。

EDIT:

これは人工的なデータを生成する方法を示します。

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") 

別の方法としては、ここにデータをダウンロードすることができます:

Data

+0

このエラーは、私たちが入手できるデータセット(または合成例)で再現できますか?ヘルプ(GAMens)に表示されている例で使用されているmlbenchの電離層データでしょうか?またはそれのいくつかのスライス? – Spacedman

+0

編集をご覧ください。ありがとう。 – cs0815

答えて

1

この問題は新しいバージョンのパッケージで解決されています。 GAMensパッケージのバージョン1.1.2をCRANリポジトリからダウンロードしてください。

お礼

2

あなたdata入力はという名前の列がありません"class"なので、class ~ .を使用している数式は無効です。確かに、エラーメッセージは非常に有用ではありません...

これは動作するようです(しかし、ゆっくりと、それはまだ10分後に実行されている):

trainingdata.GAMrsm < - GAMens(true.presence〜X1、データ、1、autoform = TRUE、iter = 10、rsm = FALSE)

+0

申し訳ありません。ローカルのデータコピー(data.txt)のクラスにtrue.presenceという名前を変更しました。私はautoform = TRUEを理解していますが、true.presence〜X1は 'モデル空間'を制限しません。私はtrue.presence〜を使いたいです。 1つ以上のプレディクタがある場合は、これが機能します。ありがとう。 – cs0815