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 <[email protected]> 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 77 > 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) > [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 <[email protected]>: > > E como faço pra resolver isso, por gentileza? >> >> >> Em Domingo, 11 de Janeiro de 2015 17:28, Fernando Antonio de souza < >> [email protected]> 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" <[email protected]> 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 < >> [email protected]> escreveu: >> >> >> Henrique tente as.numeric(cff$grupos.de.idade). >> >> Enviado do meu iPad >> >> Em 11/01/2015, às 02:18, Henry Mazer <[email protected]> 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/8c230f1e >> deste 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 >> [email protected] >> 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 >> [email protected] >> 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 >> [email protected] >> 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 > [email protected] > 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 [email protected] 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.
