J'ai une chaîne dynamique pour créer un model.matrix
. Valeur de la chaîne est la suivante:Erreur de contraste Model.matrix
total_matrix_str
[1] "model.matrix(~ date + MDSE_ITEM_I + COLR_N + SLS_TYPE_GRP_C + dayofwk +
MDSE_ITEM_REF_I + WK_END_D + GREG_D + SIZE_N + MDSE_STYL_N + COLR_FMLY_N + LATTD_I
+ LNGTD_I + weekend + dsp + assort_size + colr_per + pctTillDate + weeknr + MEANTEMPM
+ MEANVISM + MEANWINDSPDM + MAXHUMIDITY + MINHUMIDITY + MEANDEWPTM + MEANPRESSUREM
+ FOG + RAIN + THUNDER ,data = total ,
contrasts.arg =list(MDSE_ITEM_I=contrasts(total$MDSE_ITEM_I,contrasts = F) ,
CO_LOC_I=contrasts(total$CO_LOC_I,contrasts = F) ,
COLR_N=contrasts(total$COLR_N,contrasts = F) ,
dayofwk=contrasts(total$dayofwk,contrasts = F) ,
SIZE_N=contrasts(total$SIZE_N,contrasts = F) ,
MDSE_STYL_N=contrasts(total$MDSE_STYL_N,contrasts = F) ,
COLR_FMLY_N=contrasts(total$COLR_FMLY_N,contrasts = F) ,
assort_size=contrasts(total$assort_size,contrasts = F) ,
weeknr=contrasts(total$weeknr,contrasts = F)))"
Voici valeur distinctes compte des variables catégoriques:
> length(unique(total$MDSE_ITEM_I))
[1] 30
> length(unique(total$CO_LOC_I))
[1] 5
> length(unique(total$COLR_N))
[1] 6
> length(unique(total$dayofwk))
[1] 7
> length(unique(total$SIZE_N))
[1] 9
> length(unique(total$MDSE_STYL_N))
[1] 6
> length(unique(total$COLR_FMLY_N))
[1] 4
> length(unique(total$assort_size))
[1] 7
> length(unique(total$weeknr))
[1] 7
encore ce résultat de commande en erreur comme suit:
total_matrix <- eval(parse(text = total_matrix_str))
Error in `contrasts<-`(`*tmp*`, value = contr.funs[1 + isOF[nn]]) :
contrasts can be applied only to factors with 2 or more levels
Les indices pourquoi Je pourrais avoir cette erreur? Comment résoudre les erreurs dynamiquement en détectant automatiquement un tel scénario?
vérifier les valeurs 'NA' dans vos données ... –
Vérifiez aussi probablement pour vous assurer qu'une des variables que vous pensez n'est pas un facteur est réellement un facteur (il y a beaucoup de variables dans cette formule qui hantent) J'ai semblé vérifier). – joran
@joran Vérifié manquant catégorique des contrastes ont juste un ou deux niveaux, donc ne devrait pas y aller. Cependant, une aberration est une variable "SLS_TYPE_GRP_C" qui a une valeur STRING unique. Cela peut-il causer des problèmes? – abhiieor