Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Error in xj[i] : invalid subscript type 'list'

Tags:

r

I tried to split the data(bank) into training data and test data. But I somehow got an error below.How can I solve this problem?

train = bank[1:100, ]
test = bank[!train,]
Status.test =Status[!train]
glm.fit=glm(Status~Length+Right+Bottom+Top+Diagonal,data=bank,family=binomial,subset=train)

#Error in xj[i] : invalid subscript type 'list'

glm.probs=predict(glm.fit,test,type="response") 
glm.pred=rep("genuine",100)  
glm.pred[glm.probs>.5]="counterfeit"
table(glm.pred,test)##classification on training data

#Error in table(glm.pred, test) : all arguments must have the same length
like image 486
K.heer Avatar asked Feb 21 '16 06:02

K.heer


1 Answers

The issue is in subset=train. According to the ?glm. the subset should be a vector as oppose to a subset of original dataset:

subset an optional vector specifying a subset of observations to be used in the fitting process.

Hence, you may need to change the code to: glm.fit=glm(Status~Length+Right+Bottom+Top+Diagonal,data=train,family=binomial)

or

glm.fit=glm(Status~Length+Right+Bottom+Top+Diagonal,data=bank,family=binomial,subset=1:100)

like image 166
Sixiang.Hu Avatar answered Nov 07 '22 16:11

Sixiang.Hu