[R-br] lm e NA

Robert Iquiapaza rbali em ufmg.br
Terça Junho 11 09:09:43 BRT 2013


Daniela,

Pode ter outras variáveis com NAs de forma que da combinação  resulta
que cada linha tem no mínimo um NA.
Por exemplo:
> DF <- data.frame(x = c(1, 2, 3), y = c(0, 10, NA),z=c(NA,NA,4))
> DF$yf=factor(DF$y)
> DF
  x  y  z   yf
1 1  0 NA    0
2 2 10 NA   10
3 3 NA  4 <NA>
> DF1=na.omit(DF)
> DF1$yf
factor(0)
Levels: 0 10
> lm(y~x+z, data=DF)
Erro em lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) :
  0 (não-NA) casos

Determine quantos NAs tem em cada coluna e linha
> apply(DF,2,function(m)sum(is.na(m)))
 x  y  z yf
 0  1  2  1
Para a regressão não pode ter NA em todas as linhas
> apply(DF,1,function(m)sum(is.na(m)))
[1] 1 1 2  # isso elimina todas as linhas

Boa sorte

Em 11 de junho de 2013 06:32, Daniela Recchia
<daniela_recchia em yahoo.com.br> escreveu:
> Bom dia,
>
> estou com dificuldades em rodar um modelo no R que acredito ser devido aos
> NA. Apesar do software aparentemente remover os NA's na hora de rodar a
> funcao lm, quando ajusto meu modelo
> model<-lm(cpstotalnorm~indconfident+indpride+indenergy+indgrowth+indseethingsnew+indinputstrategy
>
> +indtrainingavailable+grppointsofview+grpconflictresol+grprightpeople+grpdifferentviews+grprethink
>           +grplessonss)
>
> recebo um erro "error contrasts can be applied only to factors with 2 or
> more levels", pesquisei sobre o erro e vi que poderiam ser dois casos: ou as
> variáveis poderiam estar definidas como caracteres e nao como fatores - o
> que nao é o caso, ou há NA's no conjunto de dados - é o caso.
>
> Tentei retirar entao os NA's dos dados para rodr o modelo, porém usando a
> funcao:
> datanew<-na.omit(data)
>
> o R retira todas as observacoes, e nao só o NA, por exemplo:
>
>> datanew$indseethingsnew
> factor(0)
> Levels: 1 2 3 4 5 6 7
>
> enquanto se retiro somente os NA's dessa variável, no conjunto de dados
> original, ele mantém todas as outras observacoes:
>
>> c<-na.omit(data$indseethingsnew)
>> c
>   [1] 2 2 2 3 1 3 1 2 1 1 2 3 3 3 3 2 2 1 3 4 1 1 4 3 2 3 1 2 2 1 5 2 1 3 1
> 1 1 6 3 1 2 1 1 1 1 2 1 2 1 3 1
>  [52] 3 2 5 1 5 1 1 3 2 1 2 2 1 2 2 1 1 2 2 1 2 1 2 2 1 1 2 2 3 2 2 1 2 2 2
> 2 3 1 3 2 2 1 3 1 2 2 1 2 3 2 1
> [103] 2 1 2 4 2 1 1 2 2 1 3 3 2 2 1 1 6 2 1 2 4 2 3 3 2 2 2 2 1 3 6 1 1 3 2
> 3 3 1 2 3 2 2 7 2 3 2 1 3 4 1 2
> [154] 3 2 1 3
> attr(,"na.action")
>   [1]   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17
> 18  19  20  21  22  23  24  25
>  [26]  26  27  28  29  30  31  32  33  34  35  36  37  38  39  40  41  42
> 43  44  45  46  47  48  49  50
>  [51]  85  86 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177
> 178 179 180 181 182 183 184 185
>  [76] 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202
> 203 204 205 206 207 208 209 210
> [101] 211 212 213 214 215 216 217 218 219
> attr(,"class")
> [1] "omit"
> Levels: 1 2 3 4 5 6 7
>
>
>
> Entao meu novo conjunto de dados datanew contém apenas zeros!
>
>
>
> Alguém teria alguma sugestao?
>
>
>
> Obrigada,
>
> Daniela
>
>
> --
> Daniela Rodrigues Recchia
> M.Sc. in Statistics
>
> Tel. (Mobil): +49 01578 7588382
> Kißlegg - Germany
>
>
> “The standard of success in life is absolutely the amount of joy you feel”
> Esther & Jerry Hick
>
>
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código
> mínimo reproduzível.


Mais detalhes sobre a lista de discussão R-br