Erro com células dados (NA)
5 participantes
Página 1 de 1
Erro com células dados (NA)
Olá a todos, será que alguém mais experiente pode me ajudar?
Acredito que esse problema não seja tão difícil de resolver.
Estou trabalhando com minha tabela de dados de coleta de amostra, porém tenho pontos que não houveram coleta, então coloquei a sigla NA na célula.
Quando começo a inserir funções como valores máximos e valores mínimos o R esta me monstrando sempre o valor NA, como eu peço gentilmente para ele desconsiderar essas células?
Obrigada pessoal....
Acredito que esse problema não seja tão difícil de resolver.
Estou trabalhando com minha tabela de dados de coleta de amostra, porém tenho pontos que não houveram coleta, então coloquei a sigla NA na célula.
Quando começo a inserir funções como valores máximos e valores mínimos o R esta me monstrando sempre o valor NA, como eu peço gentilmente para ele desconsiderar essas células?
Obrigada pessoal....
Carolina Lorieri- Mensagens : 35
Data de inscrição : 01/04/2020
Re: Erro com células dados (NA)
Se tu substituir por número zero pode ser que der certo, pois como tu digitou NA ele vai reconhecer como uma variável categórica e não numérica.
Vicente Neto- Mensagens : 3
Data de inscrição : 31/03/2020
Re: Erro com células dados (NA)
Oi, Carolina!
Em algumas funções é necessário informar ao R de forma explícita que ele precisa ignorar os NAs. Quando isso acontece, normalmente usamos o argumento na.rm=T. Veja o exemplo:
Em algumas funções é necessário informar ao R de forma explícita que ele precisa ignorar os NAs. Quando isso acontece, normalmente usamos o argumento na.rm=T. Veja o exemplo:
- Código:
#Criando dados de exemplo:
exemplo<-structure(list(UA = 1:9, Var1 = c(10L, 15L, 0L, NA, 13L, 11L,
9L, NA, 12L), Var2 = structure(c(1L, 1L, 1L, 2L, 2L, 2L, 3L,
3L, 3L), .Label = c("a", "b", "c"), class = "factor")), class = "data.frame", row.names = c(NA,
-9L))
#Os dados:
exemplo
#Sumário:
summary(exemplo)
#Máximos e mínimos:
max(exemplo$Var1, na.rm=T)
min(exemplo$Var1, na.rm=T)
Re: Erro com células dados (NA)
Vicente Neto escreveu:Se tu substituir por número zero pode ser que der certo, pois como tu digitou NA ele vai reconhecer como uma variável categórica e não numérica.
Oi, Vicente! Na verdade há um pouco de confusão aqui, e é bom lembrar: nunca, jamais, substitua um NA por zero!
NA é informação ausente ou perdida. Já um zero é um valor. Se você tem um zero em uma planilha, pressupomos que você sabe que aquele valor é zero. Se tem um NA, a informação é que você não conhece aquele valor. Confundir os dois pode gerar erros de análise, ok?
Ah sim, e uma informação importante: o uso de NA não afeta a capacidade do R ler uma variável como quantitativa, então ele pode ser usado com qualquer tipo de variável. O inconveniente é que de vez em quando temos que fazer como eu mostrei acima, usar na.rm como argumento.
Re: Erro com células dados (NA)
Prof. Marcos escreveu:Oi, Carolina!
Em algumas funções é necessário informar ao R de forma explícita que ele precisa ignorar os NAs. Quando isso acontece, normalmente usamos o argumento na.rm=T. Veja o exemplo:
- Código:
#Criando dados de exemplo:
exemplo<-structure(list(UA = 1:9, Var1 = c(10L, 15L, 0L, NA, 13L, 11L,
9L, NA, 12L), Var2 = structure(c(1L, 1L, 1L, 2L, 2L, 2L, 3L,
3L, 3L), .Label = c("a", "b", "c"), class = "factor")), class = "data.frame", row.names = c(NA,
-9L))
#Os dados:
exemplo
#Sumário:
summary(exemplo)
#Máximos e mínimos:
max(exemplo$Var1, na.rm=T)
min(exemplo$Var1, na.rm=T)
Consegui usar para valores máximos professor, obrigada!!
Mas não consegui usar para os mínimos, o resultado foi 0 e não tenho concentrações/valores nessa quantidade. O que pode ter acontecido? Preciso falar para o R de alguma maneira que zero é "falso", e não considerar??
Além disso como eu uso esse código para a função tapply? Por exemplo: tapply(dados$concentracao, dados$individuo, nmax)
Abraços
Carolina Lorieri- Mensagens : 35
Data de inscrição : 01/04/2020
Re: Erro com células dados (NA)
Olá, bom dia!
Eu também tenho NAs na minha tabela. O que fiz foi usar o pacote Mice para estimar os dados ausentes. Tem o pacote Amelia que também estima dados ausentes (achei o mice mais fácil). Só não consegui fazer o script rodar da estimativa direto para a análise. Então eu salvo os dados estimados em uma nova tabela e abro ela no R para fazer as análises em si.
Eu também tenho NAs na minha tabela. O que fiz foi usar o pacote Mice para estimar os dados ausentes. Tem o pacote Amelia que também estima dados ausentes (achei o mice mais fácil). Só não consegui fazer o script rodar da estimativa direto para a análise. Então eu salvo os dados estimados em uma nova tabela e abro ela no R para fazer as análises em si.
Yasmin Canalli- Mensagens : 15
Data de inscrição : 30/03/2020
Re: Erro com células dados (NA)
Yasmin Canalli escreveu:Olá, bom dia!
Eu também tenho NAs na minha tabela. O que fiz foi usar o pacote Mice para estimar os dados ausentes. Tem o pacote Amelia que também estima dados ausentes (achei o mice mais fácil). Só não consegui fazer o script rodar da estimativa direto para a análise. Então eu salvo os dados estimados em uma nova tabela e abro ela no R para fazer as análises em si.
Obrigada Yasmin, vou testar esse pacote Mice e ver o que acontece
Carolina Lorieri- Mensagens : 35
Data de inscrição : 01/04/2020
Re: Erro com células dados (NA)
Oi, Carolina!
Fiquei curioso com o que pode estar acontecendo com os seus valores mínimos, pois não deveria ser assim. Como os valores máximos e mínimos aparecem quando você executa um summary()? Porque nele eu sei que os NAs não são usados (eles aparecem como uma contagem na parte de baixo do summary). Dê uma conferida, e qualquer coisa poste o resultado do summary aqui, ok?
Vou conferir como seria dentro de um tapply, e depois volto aqui para dizer.
Fiquei curioso com o que pode estar acontecendo com os seus valores mínimos, pois não deveria ser assim. Como os valores máximos e mínimos aparecem quando você executa um summary()? Porque nele eu sei que os NAs não são usados (eles aparecem como uma contagem na parte de baixo do summary). Dê uma conferida, e qualquer coisa poste o resultado do summary aqui, ok?
Vou conferir como seria dentro de um tapply, e depois volto aqui para dizer.
Re: Erro com células dados (NA)
No tapply não tem mistério, pode adicionar o argumento na.rm normalmente! Veja (com o mesmo exemplo):
- Código:
tapply(exemplo$Var1, exemplo$Var2, max, na.rm=T)
Re: Erro com células dados (NA)
Olá Professor,
CONSEGUIIII,
Eu tinha usado tapply para tentar visualizar o quais os valores minimos e máximos de cada variável, porém não tinha colocado na.rm=T , então não tinha ajudado em nada.
Agora consegui verificar que tinha erro na minha planilha de dados.
Obrigadaaaa, agora segue o barco, vou continuar mexendo nos meus dados do mestrado e provavelmente surgirão outras duvidas.....kkkk
Abraços e bom restinho de semana.
CONSEGUIIII,
Eu tinha usado tapply para tentar visualizar o quais os valores minimos e máximos de cada variável, porém não tinha colocado na.rm=T , então não tinha ajudado em nada.
Agora consegui verificar que tinha erro na minha planilha de dados.
Obrigadaaaa, agora segue o barco, vou continuar mexendo nos meus dados do mestrado e provavelmente surgirão outras duvidas.....kkkk
Abraços e bom restinho de semana.
Carolina Lorieri- Mensagens : 35
Data de inscrição : 01/04/2020
Re: Erro com células dados (NA)
Olá pessoal,
Vou aproveitar o tópico para fazer a minha pergunta quanto a erro de leitura de valores "NA".
Eu estou fazendo uso da função nls() para modelos de regressão não linear, e nos meus dados existem alguns dados com valores faltantes "NA". Quando eu faço o modelo, a função não roda pelo fato de as colunas das variáveis não terem tamanhos iguais. Pelo o que parece, o R assume que a coluna está vazia, e não, digamos, "preenchida" por um "NA". Eu resolvi o problema eliminando essas linhas de dados faltantes e o modelo rodou corretamente (eu comparei os valores dos coeficientes com os calculados em outros programas e bateu certinho). Acontece que, como tenho muitas variáveis que quero testar, tenho que repetir o processo com frequência. Tentei usar o argumento na.rm=T mas a função nls() não possui esse argumento, pelo o que entendi. Existe algum outro argumento que eu possa utilizar para facilitar minha vida (eu vou utilizar bastante essa função daqui para frente...). Também não consegui entender direito como funciona na.action() ou na.omit(). Alguém teria uma luz?
Abraços!
Vou aproveitar o tópico para fazer a minha pergunta quanto a erro de leitura de valores "NA".
Eu estou fazendo uso da função nls() para modelos de regressão não linear, e nos meus dados existem alguns dados com valores faltantes "NA". Quando eu faço o modelo, a função não roda pelo fato de as colunas das variáveis não terem tamanhos iguais. Pelo o que parece, o R assume que a coluna está vazia, e não, digamos, "preenchida" por um "NA". Eu resolvi o problema eliminando essas linhas de dados faltantes e o modelo rodou corretamente (eu comparei os valores dos coeficientes com os calculados em outros programas e bateu certinho). Acontece que, como tenho muitas variáveis que quero testar, tenho que repetir o processo com frequência. Tentei usar o argumento na.rm=T mas a função nls() não possui esse argumento, pelo o que entendi. Existe algum outro argumento que eu possa utilizar para facilitar minha vida (eu vou utilizar bastante essa função daqui para frente...). Também não consegui entender direito como funciona na.action() ou na.omit(). Alguém teria uma luz?
Abraços!
Renato Filogonio- Mensagens : 9
Data de inscrição : 12/04/2020
Re: Erro com células dados (NA)
Renato, uma saída "bruta" é remover todas as linhas que possuem NA, em qualquer variável medida. Isso pode ser feito com na.omit, veja o exemplo aqui:
Mas pode ser que esta saída seja ruim: se você for construir vários modelos, cada um com apenas duas ou poucas variáveis, você pode perder dados caso existam NAs em variáveis que não entram nestes modelos...
Então uma saída alternativa seria você criar várias sub-planilhas, apenas com as variáveis que entram em cada modelo. Você faria isso criando novos data.frames que possuem apenas as colunas desejadas, e nestes você aplica o na.omit(). Faz sentido?
- Código:
#Dados de exemplo:
data("airquality")
#Veja que existem NAs:
summary(airquality)
#Os dados tem 153 linhas:
dim(airquality)
#Podemos remover as linhas que tem NA em qualquer das medidas:
air.2<-na.omit(airquality)
#Agora veja que não há mais NAs:
summary(air.2)
#E que pra isso acontecer, várias linhas foram removidas:
dim(air.2)
Mas pode ser que esta saída seja ruim: se você for construir vários modelos, cada um com apenas duas ou poucas variáveis, você pode perder dados caso existam NAs em variáveis que não entram nestes modelos...
Então uma saída alternativa seria você criar várias sub-planilhas, apenas com as variáveis que entram em cada modelo. Você faria isso criando novos data.frames que possuem apenas as colunas desejadas, e nestes você aplica o na.omit(). Faz sentido?
Re: Erro com células dados (NA)
Olá Marcos, faz sentido e funciona :-)
O problema é esse que você mesmo comentou, essa correção terá que ser feita caso a caso. De qualquer forma, já é mais fácil do que minha versão manual, onde eu estava criando as tabelas como "tabela_nova <- tabela_original[-a, ]". Então, já facilitou bastante o processo de eu ter que contar quais são as linhas faltantes!
Abraços
O problema é esse que você mesmo comentou, essa correção terá que ser feita caso a caso. De qualquer forma, já é mais fácil do que minha versão manual, onde eu estava criando as tabelas como "tabela_nova <- tabela_original[-a, ]". Então, já facilitou bastante o processo de eu ter que contar quais são as linhas faltantes!
Abraços
Renato Filogonio- Mensagens : 9
Data de inscrição : 12/04/2020
Tópicos semelhantes
» Alinhamento de células no gerenciador de Dados e a possibilidade de desfazê-lo
» Erro na leitura de dados
» Erro em transformação da categoria dos dados
» Erro ao carregar dados aula 1.3. Lendo um arquivo no R
» Transformacao dos dados, Log, Arcoseno, raiz quadrada & Re transformação de dados-Back-transformation
» Erro na leitura de dados
» Erro em transformação da categoria dos dados
» Erro ao carregar dados aula 1.3. Lendo um arquivo no R
» Transformacao dos dados, Log, Arcoseno, raiz quadrada & Re transformação de dados-Back-transformation
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|