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