Error in apollo_choiceAnalysis_settings
Posted: 31 Jul 2021, 00:20
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.
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.
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)
Error in apollo_choiceAnalysis(choiceAnalysis_settings, apollo_control, :
'list' object cannot be coerced to type 'double'
Thanks for any help.