[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