[R-br] Uso do ifelse
Maurício Lordêlo
mslordelo em gmail.com
Ter Out 15 17:49:15 -03 2024
Muito obrigado!
Em ter., 15 de out. de 2024 às 13:30, Cid Póvoas por (R-br) <
r-br em 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 em listas.c3sl.ufpr.br> escreveu:
>
>> #Olá,
>> #saudações a tod em 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 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/20241015/f273eb0c/attachment.htm>
Mais detalhes sobre a lista de discussão R-br