Re: [R-br] Uso do ifelse
Muito obrigado! Em ter., 15 de out. de 2024 às 13:30, Cid Póvoas por (R-br) < r-br@listas.c3sl.ufpr.br> escreveu: > > if (dim(sk1$out$Result)[2] == 5) { > grupos <- c(sk1$out$Result$G1, > sk1$out$Result$G2, > sk1$out$Result$G3, > sk1$out$Result$G4) > } else if (dim(sk1$out$Result)[2] == 4) { > grupos <- c(sk1$out$Result$G1, > sk1$out$Result$G2, > sk1$out$Result$G3) > } else if (dim(sk1$out$Result)[2] == 3) { > grupos <- c(sk1$out$Result$G1, > sk1$out$Result$G2) > } else { > grupos <- sk1$out$Result$G1 > } > > grupos > > rm(grupos) > > library(dplyr) > > grupos <- case_when( > dim(sk1$out$Result)[2] == 5 ~ list(c(sk1$out$Result$G1, >sk1$out$Result$G2, >sk1$out$Result$G3, >sk1$out$Result$G4)), > dim(sk1$out$Result)[2] == 4 ~ list(c(sk1$out$Result$G1, >sk1$out$Result$G2, >sk1$out$Result$G3)), > dim(sk1$out$Result)[2] == 3 ~ list(c(sk1$out$Result$G1, >sk1$out$Result$G2)), > TRUE ~ list(sk1$out$Result$G1) > ) > > grupos <- unlist(grupos) > > rm(grupos) > > > num_grupos <- min(dim(sk1$out$Result)[2], 10) > > # Criar dinamicamente a lista de grupos > grupos <- unlist(lapply(1:num_grupos, function(i) > sk1$out$Result[[paste0('G', i)]])) > > grupos > > *Cid Edson Mendonça Póvoas* > *Agrônomo - **Data Analyst - Crop Protection & Seeds* > *Tel: +55 73 99151-9565* > *Lattes : *http://lattes.cnpq.br/2303498368142537 > *LinkedIn :* http://br.linkedin.com/in/cidedson/ > *Whatsapp :* https://wa.me/5573991519565 > > > Em ter., 15 de out. de 2024 às 12:56, Maurício Lordêlo por (R-br) < > r-br@listas.c3sl.ufpr.br> escreveu: > >> #Olá, >> #saudações a tod@s!!! >> #Vou precisar várias comparações múltiplas usando o >> #teste de Scott Knott >> #Quero no final, capturar as letras e formar um único vetor >> >> #No exemplo abaixo, só serão formados dois "grupos" >> #Porém pode acontecer de formar um, três ou quatro >> #Não acontecerá de cinco ou mais >> >> #Usei o "ifelse" para isso, porém o retorno é um >> #vetor de tamanho 1 >> library(ScottKnott) >> data(RCBD) >> sk1 <- with(RCBD, >> SK(y ~ blk + tra, >>data=dfm, >>which='tra')) >> sk1$out$Result #aqui eu verifico a formação de dois grupos >> >> #O objeto que vai ser gerado no final, deveria ser igual a este >> #aqui >> grupos = c(sk1$out$Result$G1, >> sk1$out$Result$G2) >> grupos[nzchar(grupos)] >> >> #Porém, isso não acontece quando eu uso o "ifelse" >> rm(grupos) >> grupos = ifelse(dim(sk1$out$Result)[2] == 5, c(sk1$out$Result$G1, >>sk1$out$Result$G2, >>sk1$out$Result$G3, >>sk1$out$Result$G4), >> ifelse(dim(sk1$out$Result)[2] == 4, c(sk1$out$Result$G1, >> sk1$out$Result$G2, >> sk1$out$Result$G3), >>ifelse(dim(sk1$out$Result)[2] == 3, >> c(sk1$out$Result$G1, >> >> sk1$out$Result$G2), >> sk1$out$Result$G1))) >> grupos >> >> #O que há de errado? >> ___ >> R-br mailing list >> R-br@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@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@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.
Re: [R-br] Uso do ifelse
if (dim(sk1$out$Result)[2] == 5) { grupos <- c(sk1$out$Result$G1, sk1$out$Result$G2, sk1$out$Result$G3, sk1$out$Result$G4) } else if (dim(sk1$out$Result)[2] == 4) { grupos <- c(sk1$out$Result$G1, sk1$out$Result$G2, sk1$out$Result$G3) } else if (dim(sk1$out$Result)[2] == 3) { grupos <- c(sk1$out$Result$G1, sk1$out$Result$G2) } else { grupos <- sk1$out$Result$G1 } grupos rm(grupos) library(dplyr) grupos <- case_when( dim(sk1$out$Result)[2] == 5 ~ list(c(sk1$out$Result$G1, sk1$out$Result$G2, sk1$out$Result$G3, sk1$out$Result$G4)), dim(sk1$out$Result)[2] == 4 ~ list(c(sk1$out$Result$G1, sk1$out$Result$G2, sk1$out$Result$G3)), dim(sk1$out$Result)[2] == 3 ~ list(c(sk1$out$Result$G1, sk1$out$Result$G2)), TRUE ~ list(sk1$out$Result$G1) ) grupos <- unlist(grupos) rm(grupos) num_grupos <- min(dim(sk1$out$Result)[2], 10) # Criar dinamicamente a lista de grupos grupos <- unlist(lapply(1:num_grupos, function(i) sk1$out$Result[[paste0('G', i)]])) grupos *Cid Edson Mendonça Póvoas* *Agrônomo - **Data Analyst - Crop Protection & Seeds* *Tel: +55 73 99151-9565* *Lattes : *http://lattes.cnpq.br/2303498368142537 *LinkedIn :* http://br.linkedin.com/in/cidedson/ *Whatsapp :* https://wa.me/5573991519565 Em ter., 15 de out. de 2024 às 12:56, Maurício Lordêlo por (R-br) < r-br@listas.c3sl.ufpr.br> escreveu: > #Olá, > #saudações a tod@s!!! > #Vou precisar várias comparações múltiplas usando o > #teste de Scott Knott > #Quero no final, capturar as letras e formar um único vetor > > #No exemplo abaixo, só serão formados dois "grupos" > #Porém pode acontecer de formar um, três ou quatro > #Não acontecerá de cinco ou mais > > #Usei o "ifelse" para isso, porém o retorno é um > #vetor de tamanho 1 > library(ScottKnott) > data(RCBD) > sk1 <- with(RCBD, > SK(y ~ blk + tra, >data=dfm, >which='tra')) > sk1$out$Result #aqui eu verifico a formação de dois grupos > > #O objeto que vai ser gerado no final, deveria ser igual a este > #aqui > grupos = c(sk1$out$Result$G1, > sk1$out$Result$G2) > grupos[nzchar(grupos)] > > #Porém, isso não acontece quando eu uso o "ifelse" > rm(grupos) > grupos = ifelse(dim(sk1$out$Result)[2] == 5, c(sk1$out$Result$G1, >sk1$out$Result$G2, >sk1$out$Result$G3, >sk1$out$Result$G4), > ifelse(dim(sk1$out$Result)[2] == 4, c(sk1$out$Result$G1, > sk1$out$Result$G2, > sk1$out$Result$G3), >ifelse(dim(sk1$out$Result)[2] == 3, c(sk1$out$Result$G1, > > sk1$out$Result$G2), > sk1$out$Result$G1))) > grupos > > #O que há de errado? > ___ > R-br mailing list > R-br@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@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.
Re: [R-br] Uso do ifelse
Vi que "ifelse" não retorna vetor. Buscando alternativas para isso. Em ter., 15 de out. de 2024 às 12:48, Maurício Lordêlo escreveu: > #Olá, > #saudações a tod@s!!! > #Vou precisar várias comparações múltiplas usando o > #teste de Scott Knott > #Quero no final, capturar as letras e formar um único vetor > > #No exemplo abaixo, só serão formados dois "grupos" > #Porém pode acontecer de formar um, três ou quatro > #Não acontecerá de cinco ou mais > > #Usei o "ifelse" para isso, porém o retorno é um > #vetor de tamanho 1 > library(ScottKnott) > data(RCBD) > sk1 <- with(RCBD, > SK(y ~ blk + tra, >data=dfm, >which='tra')) > sk1$out$Result #aqui eu verifico a formação de dois grupos > > #O objeto que vai ser gerado no final, deveria ser igual a este > #aqui > grupos = c(sk1$out$Result$G1, > sk1$out$Result$G2) > grupos[nzchar(grupos)] > > #Porém, isso não acontece quando eu uso o "ifelse" > rm(grupos) > grupos = ifelse(dim(sk1$out$Result)[2] == 5, c(sk1$out$Result$G1, >sk1$out$Result$G2, >sk1$out$Result$G3, >sk1$out$Result$G4), > ifelse(dim(sk1$out$Result)[2] == 4, c(sk1$out$Result$G1, > sk1$out$Result$G2, > sk1$out$Result$G3), >ifelse(dim(sk1$out$Result)[2] == 3, c(sk1$out$Result$G1, > > sk1$out$Result$G2), > sk1$out$Result$G1))) > grupos > > #O que há de errado? > ___ R-br mailing list R-br@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.
Re: [R-br] Uso do ifelse
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 > 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 > *Para:* "r-br@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 dadosclassi > 1M 0.54 Alto > 2M 0.56 Alto > 3M 0.45 Medio > 4M 0.59 Alto > 5M 1.00 Muito alto > 6M 0.71 Alto > 7M 0.02 Baixo > 8M 0.83 Muito alto > 9M 0.22 Medio > 10M 0.80 Muito alto > 11F 0.52 Alto > 12F 0.59 Alto > 13F 0.47 Alto > 14F 0.72 Muito alto > 15F 0.08 Baixo > 16F 0.71 Muito alto > 17F 0.19 Medio > 18F 0.32 Alto > 19F 0.09 Baixo > 20F 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 > > Para: R-br Lista > > 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 > &
Re: [R-br] Uso do ifelse
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 Para: "r-br@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 > Para: R-br Lista > 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 = Moderada
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 10M 0.80 Muito alto 11F 0.52 Alto 12F 0.59 Alto 13F 0.47 Alto 14F 0.72 Muito alto 15F 0.08 Baixo 16F 0.71 Muito alto 17F 0.19 Medio 18F 0.32 Alto 19F 0.09 Baixo 20F 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 Para: R-br Lista 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 d
Re: [R-br] Uso do ifelse
César estou aguardando o pesquisador para esclarecer exatamente essas "intersecções". Obrigado. Edson Lira Estatístico Ma-Am Em 15/12/2011, às 13:16, Cesar Rabak escreveu: > Em 15/12/2011 11:35, Edson Lira escreveu: > > > [snipped] > > > 2. Foi medido a pressão sitólica e distólica de um grupo, tenho os > > seguintes parâmetros ( que me foram passados): > > Edson, > > Vou seguir a máxima que ví em um cartaz na base da NASA em Ohio: "Fazendo > perguntas atingimos a Lua". > > Creio que você precisa especificar melhor os limites de pressão e fazer de > uma maneira mais clara e sem ambigüidade: > > Note: > >> >> sistólica diastólica categoria >> <130<85normal >> 130-13985-89normal limítrofe >> 140-15990-99estágio 1 >> 160-179100-109estágio 2 >> >180>110estágio 3 >> >=210>=120estágio 4 > > Como diferenciar este caso do "normal limítrofe"? >> <140<90hipert sist isolada > > Qual classificação deve-se fazer para casos onde somente uma das colunas é > verdadeira? > > > -- > Cesar Rabak > GNU/Linux User 52247. > Get counted: http://counter.li.org/ > > ___ > R-br mailing list > R-br@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@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.
Re: [R-br] Uso do ifelse
Em 15/12/2011 11:35, Edson Lira escreveu: > [snipped] > 2. Foi medido a pressão sitólica e distólica de um grupo, tenho os > seguintes parâmetros ( que me foram passados): Edson, Vou seguir a máxima que ví em um cartaz na base da NASA em Ohio: "Fazendo perguntas atingimos a Lua". Creio que você precisa especificar melhor os limites de pressão e fazer de uma maneira mais clara e sem ambigüidade: Note: 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>=120estágio 4 Como diferenciar este caso do "normal limítrofe"? <140 <90 hipert sist isolada Qual classificação deve-se fazer para casos onde somente uma das colunas é verdadeira? -- Cesar Rabak GNU/Linux User 52247. Get counted: http://counter.li.org/ ___ R-br mailing list R-br@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.
Re: [R-br] Uso do ifelse
Porque usar a mesma variavel em cada condição? 'av$perc_g<=0&av$perc_g<10' é o mesmo que 'av$perg_g<=0', por interseção de conjuntos. Elias T. Krainski > > De: Edson Lira >Para: "r-br@listas.c3sl.ufpr.br" >Enviadas: Quinta-feira, 15 de Dezembro de 2011 13:09 >Assunto: Re: [R-br] Uso do ifelse > > >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 >Para: R-br Lista >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@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@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@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.
Re: [R-br] Uso do ifelse
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 Para: R-br Lista 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@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@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.
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@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.
Re: [R-br] Uso do ifelse para variáveis qualitativas
Edson NA é testado usando is.na(). Tente: tip_doa$bairro_resid<-ifelse(is.na(tip_doa$BAIRRORESIDENCIA), tip_doa$BAIRRO_NAO_TABELADO,tip_doa$BAIRRORESIDENCIA) On Wed, 30 Nov 2011, Edson Lira wrote: Como faço para usar o ifelse em variáveis qualitativas. Na rotina abaixo estou tendo um problema. tip_doa$bairro_resid<-ifelse(tip_doa$BAIRRORESIDENCIA=="NA", tip_doa$BAIRRO_NAO_TABELADO,tip_doa$BAIRRORESIDENCIA) Não indica erro, mas vejam table. > table(tip_doa$bairro_resid) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 372 557 179 1956 531 108 537 252 60 417 57 861 2 328 512 3870 173 3 123 395 332 2046 995 141 240 580 306 1285 41 161 242 1072 261 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 883 581 254 365 114 54 117 245 256 154 561 479 146 3 2 173 681 92 246 828 140 403 1166 592 109 328 183 12 271 1032 117 490 34 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 193 354 616 364 177 713 443 1204 366 1 309 35 513 216 117 20 1 292 765 > Se eu usar NA ao invés de "NA" me dá a saída: > table(tip_doa$bairro_resid) character(0) [].s Edson Lira Estatístico Manaus-Amazonas ___ R-br mailing list R-br@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.
Re: [R-br] Uso do ifelse para variáveis qualitativas
Edson, Consegui resolver. Abs. De: Edson Lira Para: R-br Lista Enviadas: Quarta-feira, 30 de Novembro de 2011 14:04 Assunto: [R-br] Uso do ifelse para variáveis qualitativas Como faço para usar o ifelse em variáveis qualitativas. Na rotina abaixo estou tendo um problema. tip_doa$bairro_resid<-ifelse(tip_doa$BAIRRORESIDENCIA=="NA", tip_doa$BAIRRO_NAO_TABELADO,tip_doa$BAIRRORESIDENCIA) Não indica erro, mas vejam table. > table(tip_doa$bairro_resid) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 372 557 179 1956 531 108 537 252 60 417 57 861 2 328 512 3870 173 3 123 395 332 2046 995 141 240 580 306 1285 41 161 242 1072 261 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 883 581 254 365 114 54 117 245 256 154 561 479 146 3 2 173 681 92 246 828 140 403 1166 592 109 328 183 12 271 1032 117 490 34 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 193 354 616 364 177 713 443 1204 366 1 309 35 513 216 117 20 1 292 765 > Se eu usar NA ao invés de "NA" me dá a saída: > table(tip_doa$bairro_resid) character(0) [].s Edson Lira Estatístico Manaus-Amazonas ___ R-br mailing list R-br@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@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.
Re: [R-br] Uso do ifelse para variáveis qualitativas
2011/11/30 Edson Lira : > Como faço para usar o ifelse em variáveis qualitativas. Na rotina abaixo > estou tendo um problema. > > > tip_doa$bairro_resid<-ifelse(tip_doa$BAIRRORESIDENCIA=="NA", Comparação direta com NA não funciona. Use is.na() ___ R-br mailing list R-br@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.
Re: [R-br] Uso do ifelse
hmmm... sem um exemplo para ilustrar corremos o risco de nao entender perfeitamente o q vc precisa... Todas as situacoes sao sempre "OU"? com a sua descricao, o q acontece se: v1 = 0; v2=1; v3=2, v4=2? segundo sua primeira condicao, entao isso seria "alto produtor"; segundo a terceira, "baixo produtor"... ___ R-br mailing list R-br@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.