나는 make (h1_lines)의 벡터 값을 기반으로 몇 가지 모델을 생성하기 위해 glm()을 사용하고 있습니다. 저는 sapply가 벡터의 각 값에 대한 모델을 반환하기를 바랍니다. 대신, 내 코드는 현재 목록의 한 부분이 모델 인 목록의 목록을 반환하고 있습니다. 그것은 sapply 함수 내에서 내가하는 모든 것을 반환하는 것 같습니다.sapply() 놀랍게도 결과 반환 - R
predict(models[1,], test_case)
predict(models[2,], test_case)
predict(models[3,], test_case)
을하지만 지금 나는 sapply 단지 모델보다 더 반환 야기 할 수 없다 .. :
train = data.frame(scores=train[,y_col], total=train[,4], history=train[,5], line=train[,6])
h1_lines<- c(65, 70, 75)
models <- sapply(h1_lines, function(x){
temp_set<-train
temp_set$scores<-ifelse(temp_set$scores>x,1,
ifelse(temp_set$scores<x,0,rbinom(dim(temp_set)[1],1,.5)))
mod<-glm(scores ~ total + history + line, data=temp_set, family=binomial)
})
나는 내가 할 수있는이 선 후에 그렇게 작동하도록 코드를 싶습니다 인쇄 (희미한 (모델))하면 모델에 30 행 3 열이 있다고합니다 ??
EDIT TO QUESTION;
아래 제안 된 코드를 사용하면 예측 (models [[1], test_case)을 수행 할 수 있으며 완벽하게 작동합니다. 모델을 반환하거나 저장하여 모델을 생성하는 데 사용한 키를 사용하여 모델에 액세스 할 수 있습니까?
predict(models[[65]], test_case))
predict(models[[key==65]], test_case)
샘플 데이터를 제공 할 수 있습니까? '기차'는 자체를 참조합니다. – Thomas
또한 'sapply'(@ Señor O의 대답에 따라 'lapply'여야 함)의 함수는 아마도 '반환'해야합니다. – Thomas
기술적으로'mod'는 중괄호의 마지막 줄이므로 반환 될 것입니다.하지만 가독성을 위해 반환되는 내용을 명시 적으로 언급하는 것이 더 낫다고 동의합니다. –