R: Eroare în optim – valoare nedefinită furnizată (Programare, R)

Jin-Dominique a intrebat.

Încerc să efectuez o regresie beta în R folosind comanda de mai jos:

   DV4.25112013.v2_logit <- betareg(DV4.25112013.v2 ~ 
                                  (Bcorp.Geographic.Proximity +    
                                   Dirty.Industry)^2, data=df, na.action=na.omit) 

dar îmi dă următoarea eroare:

Error in optim(par = start, fn = loglikfun, gr = gradfun, method = method,  : 
non-finite value supplied by optim

Setul meu de date pentru variabila dependentă este prezentat mai jos:

9.251774e-04 1.226072e-02 9.608363e-04           NA           NA 1.768424e-03 4.506405e-04               
          NA 2.813550e-03 6.301197e-03           NA 2.584045e-02 1.298593e-03 3.279355e-04 
8.840719e-03 1.479985e-04 1.139517e-03 1.261994e-02 1.054185e-02 2.972740e-02 7.572882e-03           
          NA           NA 2.398657e-02 4.605694e-03           NA           NA 6.879709e-03           
          NA 1.177712e-02 4.685408e-02 2.735896e-04           NA 7.779318e-03 1.096625e-05 
8.366171e-04 2.988228e-04 4.226364e-03 4.600874e-04 5.070094e-03 1.004572e-01           NA 
7.904296e-03 1.229791e-04           NA 1.072013e-04 3.022147e-03 6.271264e-03           NA           
          NA 2.714173e-02 5.537466e-04           NA 5.214199e-04 6.207046e-03           NA           
          NA 6.945933e-04           NA 1.376983e-03 7.183495e-04           NA           NA      
4.542490e-05 1.891985e-02 7.712977e-03 6.184493e-04 3.098408e-03 6.969552e-03           NA 
1.480573e-04 1.029175e-02 1.232377e-04           NA 6.540225e-03 3.856216e-02           NA    
1.769285e-00           NA 5.681399e-04 5.862517e-03 8.520513e-03 2.159825e-04 7.045354e-04 
1.129759e-02 5.876718e-04           NA 1.780352e-03 1.071973e-04           NA 1.444186e-02
          NA 1.532570e-02           NA           NA 3.265149e-02 4.457103e-02           NA 
1.163361e-02 1.372521e-02 2.645904e-03 6.539674e-05           NA 9.671331e-03           NA 
1.540429e-03           NA 4.772404e-04 2.452567e-03 4.511210e-03           NA           NA 
7.728757e-03 3.087052e-03 4.169794e-03 1.298330e-03           NA

de ce primesc această eroare și cum pot rezolva această problemă?

vă mulțumesc

Comentarii

  • un exemplu reproductibil tinyurl.com/reproducible-000 ar fi frumos … ce se întâmplă dacă utilizați na.omit() pe setul dvs. de date înainte de a încerca regresia beta?? –  > Por Ben Bolker.
  • Am încercat să folosesc na.action=na.omit(), dar nu pare să ajute… –  > Por Jin-Dominique.
  • în acest caz avem nevoie cu adevărat de un exemplu reproductibil. –  > Por Ben Bolker.
1 răspunsuri
Tay Shin

Am avut o problemă similară. este fie 1.datele dvs. NU sunt de rang complet sau 2. cod greșit.

Dacă credeți că problema dvs. este 2, atunci

##your version
DV4.25112013.v2_logit <- 
  betareg(DV4.25112013.v2 ~ (Bcorp.Geographic.Proximity + Dirty.Industry)^2, 
                             data = df, na.action = na.omit) 

##try
##assuming 'df' is dataframe 
X=(df$Bcorp.Geographic.Proximity+df$Dirty.Industry)^2
Y=DV4.25112013.v2
class(X) #make sure your data is numeric
class(Y) #make sure your data is numeric

DV4.25112013.v2_logit=betareg(Y~X, na.action=na.omit) 
DV4.25112013.v2_logit

Tags: