J'espère que certains d'entre vous sont un peu expérimentés avec le package R ChoiceModelR de Sermas et Colias, pour estimer un modèle hiérarchique hiérarchique de Bayes multinomial. Actuellement, j'analyse des données d'un conjoint (données de test) pour me préparer à des données réelles. Le fichier de données a le format requis (UnitID Set Alt X_1 ... X_natts y) où y est discret. Dans chaque ensemble de choix, j'ai 3 alternatives (alt: 1-3) ainsi qu'une option sans choix (alt: 4). Les variables indépendantes sont codées en effet (1, 0, -1). Pour autant que je puisse voir, ces données sont dans le format requis. Cependant, je ne peux pas estimer les coefficients. Si je lance le modèle sans variables démographiques que je reçois l'erreur suivante:choicemodelr: erreur dans la structure de données?
Error in Ops.data.frame(data[, 1], ID[i]) :
‘==’ only defined for equally-sized data frames
En utilisant les variables démographiques j'obtiens ce qui suit:
Error: number of rows in demos does not equal number of units
Je ne trouve pas une explication d'erreur dans l'Internet ainsi loin et ne sait pas comment résoudre ce problème. Je suppose que c'est une simple erreur dans le fichier de données que je ne vois pas. J'ai déjà essayé d'utiliser un codage différent mais j'ai les mêmes erreurs. Voici le code que j'utilise:
> xcoding=c(0,0,0,0,0,0,0,0,0,0,0,0,0,0)
> mcmc = list(R = 20000, use = 10000)
> options = list(none=FALSE, save=TRUE, keep=1)
> out = choicemodelr(data=robottest_bayes, xcoding, mcmc = mcmc, options = options)
> #with demographic variables
> out = choicemodelr(data=robottest_bayes, demos=robottest_bayes_demo, xcoding, mcmc = mcmc, options = options)
Les fichiers de données sont les suivantes:
> show(robottest_bayes)
# A tibble: 8,464 × 18
respid ques alt apperance_burly apperance_intelligent apperance_pink features_car features_laundry features_compute
<int> <int> <int> <int> <int> <int> <int> <int> <int>
1 1 1 1 1 0 0 1 0 0
2 1 1 2 0 1 0 0 1 0
3 1 1 3 0 0 1 0 0 1
4 1 1 4 0 0 0 0 0 0
5 1 2 1 0 1 0 0 0 0
6 1 2 2 0 0 1 0 0 0
7 1 2 3 1 0 0 0 0 0
8 1 2 4 0 0 0 0 0 0
9 1 3 1 0 0 1 0 0 0
10 1 3 2 1 0 0 0 0 0
# ... with 8,454 more rows, and 9 more variables: features_dog <int>, features_vaccuum <int>, features_splines <int>,
# brand_botpro <int>, brand_gizmobot <int>, price_10 <int>, price_11 <int>, nochoice <int>, choice <int>
> show(robottest_bayes_demo)
# A tibble: 529 × 3
respid sex age
<int> <int> <int>
1 1 0 42
2 2 0 55
3 3 0 37
4 4 0 35
5 5 1 41
6 6 1 35
7 7 0 56
8 8 0 27
9 9 1 36
10 10 1 42
# ... with 519 more rows
J'apprécie vraiment tout type de conseils et déjà merci pour le temps que vous pourriez passer sur la réponse!
Bests, Michael