予測関数に入力するオブジェクトタイプを制御する際に問題があります。ここではglm
オブジェクトを生成する私の単純化された関数です。glm `predict()`エラー: 'list'クラスのオブジェクトに適用される 'predict'の適用可能なメソッドがありません
myFit
でやったのと同じ結果を得るために予測する機能を使用できるように、私は
fits[,1]
で列にアクセスするにはどうすればよい
fitOneSample <- function(x,data,sampleSet)
{
#how big of a set are we going to analyze? Pick a number between 5,000 & 30,000, then select that many rows to study
sampleIndices <- 1:5000
#now randomly pick which columns to study
colIndices <- 1:10
xnames <- paste(names(data[,colIndices]),sep = "")
formula <- as.formula(paste("target ~ ", paste(xnames,collapse = "+")))
glm(formula,family=binomial(link=logit),data[sampleIndices,])
}
myFit <- fitOneSample(1,data,sampleSet)
fits <- sapply(1:2,fitOneSample,data,sampleSet)
all.equal(myFit,fits[,1]) #different object types
#this works
probability <- predict(myFit,newdata = data)
#this doesn't
probability2 <- predict(fits[,1],newdata = data)
# Error in UseMethod("predict") :
# no applicable method for 'predict' applied to an object of class "list"
?
であなたのコードを修正することができます '<フィットしてみ - lapply(1:2、fitOneSample、データ、sampleSet)'、そして 'probability2を< - predict(適合[1]、newdata = data) '。 – cryo111
ありがとう@ cryo111。それは完璧に働いた。 –