Ich habe eine dynamische Zeichenfolge, um eine model.matrix
zu erstellen. Wert der Zeichenfolge lautet wie folgt:Model.matrix Kontrastfehler
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)))"
Hier sind verschiedene Wert zählt der kategorischen Variablen:
> 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
noch dieser Befehl führt zu Fehler wie folgt:
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
Irgendwelche Hinweise, warum Ich könnte diesen Fehler bekommen? Wie kann man einen Fehler dynamisch beheben, indem man ein solches Szenario automatisch erkennt?
Überprüfen Sie für 'NA' Werte in Ihren Daten ... –
Überprüfen Sie auch, um sicherzustellen, dass eine der Variablen, die Sie _think_ kein Faktor ist, tatsächlich ein Faktor ist (es gibt viele Variablen in dieser Formel, die ' Das schien zu überprüfen). – joran
@joran Überprüft fehlendes kategorisches von Kontrasten haben nur ein oder zwei Ebenen also sollte nicht gehen. Eine Abweichung ist jedoch die Variable "SLS_TYPE_GRP_C", die einen eindeutigen STRING-Wert aufweist. Kann es Ärger verursachen? – abhiieor