[Rd] predict.nnet (PR#1181)

jcs20@po.cwru.edu jcs20@po.cwru.edu
Mon, 26 Nov 2001 22:00:15 +0100 (MET)


Full_Name: Jeff Schwarz
Version: R1.3.1
OS: Windows 2000
Submission from: (NULL) (129.22.170.115)


Error message (using predict and predict.nnet)
> predict (smalltest, smallx[-jj,])
Error in matrix(NA, length(keep), nout, dimnames = list(rn,
dimnames(object$fitted)[[2]])) : 
        length of dimnames[1] not equal to array extent

*** all relevant code and data source is given below ***

I have successfully built an object of type nnet using...
nnet.formula(formula = Q65 ~ ., data = smallx, size = 2, rang = 1, 
    maxit = 250, subset = jj)

where smallx is a data.frame with dimensions 300 by 103 that contains numerical
and factor variables.  Smallx is a random sample of 300 from the tab-delimited
numeric dataset found at
http://www.gvu.gatech.edu/user_surveys/survey-1998-10/datasets/num_general.zip. 
The code I used to recode the data is below, also.

I have successfully run the sample code from the predict.nnet help file without
any problem.

*********************************************************************

data source: 
http://www.gvu.gatech.edu/user_surveys/survey-1998-10/datasets/num_general.zip

#***Get the data from the big file
#***Get rid of the vairiables for survey (all
#*** observations = general), a unique identifier
#*** for each respondent and an extra variable X 
#*** (all = NaN)
#***Make sure that all the asymmetric binary,
#*** and nominal variables are coded as factor,
#*** not numeric (daisy has special methods for
#*** symmetric binary and discrete ordinal)
#***Recode some of the discrete ordinal variables
#*** so the Na, didn't know, and didn't say are all
#*** "NaN", and so that a few of the "never" responses
#*** are coded as 0 instead of 5

bigx <-
  read.delim (file location, 
  header = TRUE, sep = "\t", quote = "\"", dec = ".",
  fill = TRUE)

bigx <- bigx [,c(1:103)]

ii <- bigx[,c(22)] == 5
bigx[,c(22)] <- replace (bigx[,c(22)], ii, 0) 
ii <- bigx[,c(23)] == 5
bigx[,c(23)] <- replace (bigx[,c(23)], ii, 0)
ii <- bigx[,c(24)] == 5
bigx[,c(24)] <- replace (bigx[,c(24)], ii, 0)
ii <- bigx[,c(25)] == 5
bigx[,c(25)] <- replace (bigx[,c(25)], ii, 0)
ii <- bigx[,c(26)] == 5
bigx[,c(26)] <- replace (bigx[,c(26)], ii, 0)
ii <- bigx[,38] == 7
bigx[,38] <- replace (bigx[,38], ii, NaN)
ii <- bigx[,38] == 8
bigx[,38] <- replace (bigx[,38], ii, NaN)
ii <- bigx[,57] == 1
bigx[,57] <- replace (bigx[,57], ii, NaN)
ii <- bigx[,58] == 19
bigx[,58] <- replace (bigx[,58], ii, NaN)
ii <- bigx[,60] == 4
bigx[,60] <- replace (bigx[,60], ii, NaN)
ii <- bigx[,60] == 1
bigx[,60] <- replace (bigx[,60], ii, 3)
ii <- bigx[,60] == 2
bigx[,60] <- replace (bigx[,60], ii, 1)
ii <- bigx[,60] == 3
bigx[,60] <- replace (bigx[,60], ii, 2)
ii <- bigx[,69] == 1
bigx[,69] <- replace (bigx[,69], ii, NaN)
ii <- bigx[,69] == 7
bigx[,69] <- replace (bigx[,69], ii, NaN)
bigx[,69] <- bigx[,69] - 1

for (ii in c(1:9,14:21,27:32,34:37,39:49,52:55,
  59,61:70,72:103)) bigx[,ii] <- as.factor(bigx[,ii])

library (nnet)

set.seed(7261)
smallx <- bigx[sample(1:5022,300),]
jj <- sample (1:300, 100)
smalltest <- nnet.formula(formula = Q65 ~ ., data = smallx,
  size = 2, rang = 1, maxit = 250, subset = jj)

predict.nnet (smalltest, smallx[-jj,])

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-devel-request@stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._