[R-br] Erro 'x' deve ser numérico

Henry Mazer henrymazer em yahoo.com.br
Terça Janeiro 13 18:17:23 BRST 2015


Muito obrigado, era isso mesmo.Valeu pelo incentivo.Vou intensificar meus estudos na linguagem.
Abraços.
 

     Em Terça-feira, 13 de Janeiro de 2015 10:55, Jobenil Luiz Magalhães Júnior <pjobenil em gmail.com> escreveu:
   

 Caro Henry

Quando tentei ajudar estava no meio de uma viagem de férias, e sem acesso ideal de um computador. O Rodrigo foi bem acertivo na solução do problema que você apresentou.
A despeito destas dificuldades iniciais esta é uma linguagem muito poderosa e que com um pouco de paciência valerá o esforço em aprender.
Uma possibilidade de aprendizado, que venho usando com alunos de Ciências Sociais, é empregar o pacote "Rcmdr" que simula um ambiente "point click".
Atenciosamente
Jobenil Júnior
 

Em 12 de janeiro de 2015 10:16, Rodrigo Coster <rcoster em gmail.com> escreveu:

Acho que tu inverteu o nome das variáveis, não?
No seu comando:

cff$Qual.a.sua.idade. <- cut(cff$grupos.de.idade, c(19, 26, 36, 46, 56, 66, 76, 80), labels = c("19 ate 26", "27 ate 36", "37 ate 46", "47 ate 56", "57 ate 66", "67 ate 76", "acima de 77"))

Cria a variável "Qual.a.sua.idade." (que já existe e, portanto, será sobrescrita) através dos valores da variável "grupos.de.idade", que não existe. Acredito que tu queria fazer o contrário:

cff$grupos.de.idade <- cut(cff$Qual.a.sua.idade., c(19, 26, 36, 46, 56, 66, 76, 80), labels = c("19 ate 26", "27 ate 36", "37 ate 46", "47 ate 56", "57 ate 66", "67 ate 76", "acima de 77"))

Lembrando que o intervalo não inclui o limite inferior. Como no tu caso o limite inferior do 1o intervalo é 19 e tu possui um dado com 19, talvez seja interessante incluir o limite inferior no 1o intervalo através do parâmetro include.lowest
cff$grupos.de.idade <- cut(cff$Qual.a.sua.idade., c(19, 26, 36, 46, 56, 66, 76, 80), labels = c("19 ate 26", "27 ate 36", "37 ate 46", "47 ate 56", "57 ate 66", "67 ate 76", "acima de 77"), include.lowest = TRUE)

Veja aqui a diferença dos 2:
cut(cff$Qual.a.sua.idade., c(19, 26, 36, 46, 56, 66, 76, 80), labels = c("19 ate 26", "27 ate 36", "37 ate 46", "47 ate 56", "57 ate 66", "67 ate 76", "acima de 77"))[1] acima de 77 <NA>        37 ate 46   27 ate 36   27 ate 36   47 ate 56  Levels: 19 ate 26 27 ate 36 37 ate 46 47 ate 56 57 ate 66 67 ate 76 acima de 77cut(cff$Qual.a.sua.idade., c(19, 26, 36, 46, 56, 66, 76, 80), labels = c("19 ate 26", "27 ate 36", "37 ate 46", "47 ate 56", "57 ate 66", "67 ate 76", "acima de 77"), include.lowest = TRUE)[1] acima de 77 19 ate 26   37 ate 46   27 ate 36   27 ate 36   47 ate 56  Levels: 19 ate 26 27 ate 36 37 ate 46 47 ate 56 57 ate 66 67 ate 76 acima de 77

[]'s

2015-01-12 11:05 GMT-02:00 Henry Mazer <henrymazer em yahoo.com.br>:

E como faço pra resolver isso, por gentileza? 

     Em Domingo, 11 de Janeiro de 2015 17:28, Fernando Antonio de souza <nandodesouza em gmail.com> escreveu:
   

 Estou sem acesso ao computador aqui para comprovar mas acho q o problema eh que o objeto retornado pela função cut() possui dimensões diferentes do objeto cff$Qual.a.sua.idade e por esse motivo não é possível substituir um objeto ao outro.
Em 11/01/2015 14:15, "Henry Mazer" <henrymazer em yahoo.com.br> escreveu:

Obrigado.Mas agora apareceu este erro:Erro em `$<-.data.frame`(`*tmp*`, "Qual.a.sua.idade.", value = integer(0)) : 
  replacement has 0 rows, data has 6
Não sei se entendi certo, mas parece que a variável "Qual.a.sua.idade." não era de números inteiros.Fiz o seguinte:as.integer(cff$Qual.a.sua.idade.)
mas o erro continua. 

     Em Domingo, 11 de Janeiro de 2015 7:29, Jobenil Luiz Magalhães Júnior <pjobenil em gmail.com> escreveu:
   

 Henrique tente as.numeric(cff$grupos.de.idade). 

Enviado do meu iPad
Em 11/01/2015, às 02:18, Henry Mazer <henrymazer em yahoo.com.br> escreveu:


Olá!
Meu nome é Henry e sou um iniciante em R.
Vou descrever o que fiz e qual foi o resultado:
importei o seguinte arquivo http://www.datafilehost.com/d/8c230f1edeste jeito:
cff <- read.csv('MyData.csv')
e tentei criar uma variável nova:cff$Qual.a.sua.idade. <- cut(cff$grupos.de.idade, c(19, 26, 36, 46, 56, 66, 76, 80), labels = c("19 ate 26", "27 ate 36", "37 ate 46", "47 ate 56", "57 ate 66", "67 ate 76", "acima de 77"))
e recebi o seguinte erro:Erro em cut.default(cff$grupos.de.idade, c(19, 26, 36, 46, 56, 66, 76,  : 
  'x' deve ser numérico
Procurei aqui na lista e não encontrei a resposta.
Agradeço desde já pela ajuda.





_______________________________________________
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.


    
_______________________________________________
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.



    
_______________________________________________
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.



_______________________________________________
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.



_______________________________________________
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.

   
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20150113/f1924378/attachment.html>


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