[R-br] Uso do ifelse
Lucas Petri Damiani
lucaspd16 em gmail.com
Sexta Dezembro 16 14:48:38 BRST 2011
av$p_g<-ifelse(av$sexo=="masculino",
+ cut(av$perc_g, brM, RES, inc=T, right=F, ord=T),
+ cut(av$perc_g, brF, RES, inc=T, right=F, ord=T))
> av$classi <- factor(av$classi, lev=1:5, lab=RES, ord=T)
av$classi no lugar do av$p_g
2011/12/16 Edson Lira <edinhoestat em yahoo.com.br>
> prof Paulo, o qe estou fazendo errado?
>
> A variável em análise é o percentual de gordura (inteira)
> av$p_g<-ifelse(av$sexo=="masculino",
> + cut(av$perc_g, brM, RES, inc=T, right=F, ord=T),
> + cut(av$perc_g, brF, RES, inc=T, right=F, ord=T))
> > av$classi <- factor(av$classi, lev=1:5, lab=RES, ord=T)
> Erro em `$<-.data.frame`(`*tmp*`, "classi", value = integer(0)) :
> replacement has 0 rows, data has 174
>
> Edson Lira
> Estatístico
> Manaus-Amazonas
> ------------------------------
> *De:* Paulo Justiniano <paulojus em leg.ufpr.br>
> *Para:* "r-br em listas.c3sl.ufpr.br" <r-br em listas.c3sl.ufpr.br>
> *Enviadas:* Sexta-feira, 16 de Dezembro de 2011 7:02
>
> *Assunto:* Re: [R-br] Uso do ifelse
>
> Edson
>
> de fato, o seu critério de classificação é diferente para cada sexo.
> MNas voce ainda pode user o cut dentro do ifelse
> veja este exemplo com breaks diferentes para M e F
>
> df <- data.frame(sexo=rep(c("M", "F"), each=10), dados=round(runif(20),
> dig=2))
> brM <- c(0, 0.2, 0.5, 0.8, 1)
> brF <- c(0, 0.1, 0.3, 0.6, 1)
> RES <- c("Baixo", "Medio", "Alto", "Muito alto")
> df$classi <- ifelse(df$sexo == "M",
> cut(df$dados, brM, RES, inc=T, right=F, ord=T),
> cut(df$dados, brF, RES, inc=T, right=F, ord=T))
> df$classi <- factor(df$classi, lev=1:4, lab=RES, ord=T)
> df
>
> sexo dados classi
> 1 M 0.54 Alto
> 2 M 0.56 Alto
> 3 M 0.45 Medio
> 4 M 0.59 Alto
> 5 M 1.00 Muito alto
> 6 M 0.71 Alto
> 7 M 0.02 Baixo
> 8 M 0.83 Muito alto
> 9 M 0.22 Medio
> 10 M 0.80 Muito alto
> 11 F 0.52 Alto
> 12 F 0.59 Alto
> 13 F 0.47 Alto
> 14 F 0.72 Muito alto
> 15 F 0.08 Baixo
> 16 F 0.71 Muito alto
> 17 F 0.19 Medio
> 18 F 0.32 Alto
> 19 F 0.09 Baixo
> 20 F 0.17 Medio
>
>
>
>
>
>
> On Thu, 15 Dec 2011, Edson Lira wrote:
>
> > Prof. Paulo, o cut seria a saida, se fosse feito por estrato (masculino
> e feminino), mas não é o caso, preciso fazer
> > no mesmo banco a análise para masculino e feminino.
> >
> > Veja os comandos abaixo:
> >
> > av$pg_f<-ifelse(av$sexo=="masculino",
> > ifelse(av$perc_g<=15&av$perc_g<20),"normal",""),
> >
> > ifelse(av$perc_g<=20&av$perc_g<25),"mod obeso",""),
> >
> > ifelse(av$perc_g<=25&av$perc_g<30),"exc obeso",""),
> >
> > ifelse(av$perc_g<=10&av$perc_g<15),"ideal",""),
> >
> > ifelse(av$perc_g<=0&av$perc_g<10),"essencial",""),
> >
> > ifelse(av$sexo=="feminino",
> >
> > ifelse(av$perc_g<=25&av$perc_g<30),"normal",""),
> >
> > ifelse(av$perc_g<=30&av$perc_g<35),"mod obeso",""),
> >
> > ifelse(av$perc_g<=35&av$perc_g<40),"exc obeso",""),
> >
> > ifelse(av$perc_g<=14&av$perc_g<18),"ideal",""),
> >
> > ifelse(av$perc_g<=0&av$perc_g<14),"essencial","")
> >
> > ))
> > O que pode estar errado?
> > Edson Lira
> > Estatístico
> > Manaus-Amazonas
> >
> >
> ____________________________________________________________________________________________________________________
> > De: Paulo Justiniano <paulojus em leg.ufpr.br>
> > Para: R-br Lista <r-br em listas.c3sl.ufpr.br>
> > Enviadas: Quinta-feira, 15 de Dezembro de 2011 9:50
> > Assunto: Re: [R-br] Uso do ifelse
> >
> > Edson
> > nao vi seu dados e codigos mas, se entendi voce quer cricar as
> caterorias a partir de dados origineis
> >
> > cut() parce ser a solução:
> >
> > > x
> > [1] 0.04762629 0.68057869 0.82633911 0.74263816 0.18047177 0.76626677
> > [7] 0.49187248 0.43507250 0.18670542 0.95927841 0.62133031 0.62823814
> > [13] 0.45227403 0.53154416 0.98763860 0.32339100 0.63901674 0.35742343
> > [19] 0.64453429 0.43150140
> > > cut(x, br=c(0, 0.2, .5, 0.8, 1), lab=c("baixo", "medio", "alto", "muito
> > alto"))
> > [1] baixo alto muito alto alto baixo alto
> > [7] medio medio baixo muito alto alto alto
> > [13] medio alto muito alto medio alto medio
> > [19] alto medio
> > Levels: baixo medio alto muito alto
> >
> >
> > On Thu, 15 Dec 2011, Edson Lira wrote:
> >
> > > R-istas, estou com um problema no uso do ifelse (Elias, finalmente
> postei o CMR).
> > >
> > > Tenho dois problemas:
> > >
> > > 1. ao avaliar percentual de gordura em homens e mulheres, temos os
> seguintes parâmetros
> > >
> > > Para Homens
> > > 15|-20 = Limite normal
> > > 20|-25 = Moderadamente obeso
> > > 25|-30 = Excessivamente obeso
> > > 10|-14 = Gordura ideal
> > > 03 = Gordura essencial
> > >
> > > Para Mulheres
> > > 25|-30 = Limite normal
> > > 30|-35 = Moderadamente obeso
> > > 35|-40 = Excessivamente obeso
> > > 14|-18 = Gordura ideal
> > > 12 = Gordura essencial
> > >
> > > Como fazê-lo sem criar subcojunto de homens e mulheres usando o
> ifelse? No banco as variáveis são sexo e perc_g.
> > >
> > >
> > > 2. Foi medido a pressão sitólica e distólica de um grupo, tenho os
> seguintes parâmetros ( que me foram passados):
> > >
> > > sistólica diastólica categoria
> > > <130 <85 normal
> > > 130-139 85-89 normal limítrofe
> > > 140-159 90-99 estágio 1
> > > 160-179 100-109 estágio 2
> > > >180 >110 estágio 3
> > > >=210 >=120 estágio 4
> > > <140 <90 hipert sist isolada
> > > Como fazê-lo usando o ifelse?
> > >
> > > No endereço abaixo postei uma parte do banco de dados e o scritp que
> > > tentei implementar, mas não conseGui rodá-lo.
> > >
> > >
> > > https://gist.github.com/1481221 OU
> > > git://gist.github.com/1481221.git
> > >
> > >
> > >
> > > []'s.
> > > Edson Lira
> > > Estatístico
> > > Manaus-Amazonas
> > >
> > >
> > _______________________________________________
> > 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/20111216/2ad892fd/attachment.html>
Mais detalhes sobre a lista de discussão R-br