Page 1 of 1

Error in apollo_choiceAnalysis_settings

Posted: 31 Jul 2021, 00:20
by calgary
Hello, I am new in using apollo. For testing and training I used the code of the homepage and there the first example (http://www.apollochoicemodelling.com/fi ... xample_1.r). I have a problem with the apollo_choiceAnalysis. Using the code and the dataset offered, I got no problems. But using the same code and change just a small bit to my personal dataset, I got a problem at the choiceAnalysis_settings with "rows".
I just want to analyse my variable "ppos" which has a value of 0,1,2 or 3. If I determine the rows setting to rows = database$ppos <4 ; all is working fine and I can do have a look to the output (also when I completely ignore "rows" in the settings). But if I use rows = database$ppos <3 ; then i got the message:
Error in matrix(0, nrow = length(alternatives), ncol = ncol(explanators) * :
invalid 'ncol' value (too large or NA)

So the problem only occurs if some rows should be excluded. If I do the same with the offered dataset and code of example_1.r , all functions and there is also no problem, although some rows would be excluded. But since my code is almost the same, I cannot understand what I do wrong.

Code: Select all

### Clear memory
rm(list = ls())

### Load Apollo library
library(apollo)

### Initialise code
apollo_initialise()

### Set core controls
apollo_control = list(
  modelName  ="Apollo_testpen_1",
  modelDescr ="Simple MNL model",
  indivID    ="ID"
)

# ################################################################# #
#### LOAD DATA AND APPLY ANY TRANSFORMATIONS                     ####
# ################################################################# #

database = read.csv2("DataSetModelwoX.csv",header=TRUE)
colnames(database)[1] = "ID"


# ################################################################# #
#### ANALYSIS OF CHOICES                                         ####
# ################################################################# #

choiceAnalysis_settings <- list(
  alternatives = c(TL=1, TC=2, TR=3,  ML=4, MC=5, MR=6, DL=7, DC=8, DR=9),
  avail = 1,
  choiceVar    = database$Choice,
  explanators  = database[,c("ppos")],
  rows = database$ppos < 3
)

apollo_choiceAnalysis(choiceAnalysis_settings, apollo_control, database)

output=apollo_choiceAnalysis(choiceAnalysis_settings,apollo_control,database)
PS: When I use a second variable in the explanators like: explanators = database[,c("ppos", "Age")], then I got this error message:
Error in apollo_choiceAnalysis(choiceAnalysis_settings, apollo_control, :
'list' object cannot be coerced to type 'double'

Thanks for any help.

Re: Error in apollo_choiceAnalysis_settings

Posted: 07 Sep 2021, 09:21
by stephanehess
Hi

apologies for the slow reply, the post got lost in the system. Did you manage to resolve this or do you still need help?

Stephane