Re: [R-br] Separação de dados em classes usando if e ifelse

Caros Listeiros, Estou tentando empregar as dicas do Rafael para achar uma maneira de classificar o nome de variáveis, mas não individualmente com os níveis e sim com um vetor que indica quais são os níveis de interesse que quero classificar. É possível fazer isso com um vetor, no meu caso GROUP1, ao invés de utilizar o nome de cada nível individualmente seguido de | na função ifelse? dados<-NULL dados$V1<-c(1,1,1,1,1,12,12,12,12,12,31,31,31,31,31,31,31,142,142,142) dados$V2 <- paste('P', dados$V1,sep="") GROUP1<-c("P12B", "P12C", "P12D", "P12E", "P12F", "P12G", "P12H", "P12I", "P13A", "P13B", "p142", "P142", "p148", "P148", "P15B", "P15C", "P15D", "P15E", "P15F", "P15G", "P15H", "P15I", "P15J", "P16A", "P16B", "P16C", "P16D", "P16E", "P16F", "P16G", "P16H", "P16I", "P16J", "P16K", "P16", "P1A", "P1J", "P1K", "P1L", "P21A", "P27A", "P27B", "P27C", "P27D", "P27E", "P2A", "P2B", "P2D", "P2E", "P2F", "P2G", "P2", "P31A", "P31B", "P34", "P37", "P3A", "P3B", "P3C", "P3D", "P3E", "P3F", "P492", "P6A", "P6B", "P6C", "P7A", "P7B", "P7C", "P7D", "P7E", "P7F", "P7G", "P7H", "P12A") dados$classes<- ifelse((dados$V2)==GROUP1,"Group1" ,"Group2") Obrigado, -- ====================================================================== Alexandre dos Santos Proteção Florestal IFMT - Instituto Federal de Educação, Ciência e Tecnologia de Mato Grosso Campus Cáceres Caixa Postal 244 Avenida dos Ramires, s/n Bairro: Distrito Industrial Cáceres - MT CEP: 78.200-000 Fone: (+55) 65 8132-8112 (TIM) (+55) 65 9686-6970 (VIVO) e-mails:alexandresantosbr@yahoo.com.br alexandre.santos@cas.ifmt.edu.br Lattes: http://lattes.cnpq.br/1360403201088680 OrcID: orcid.org/0000-0001-8232-6722 Researchgate: https://www.researchgate.net/profile/Alexandre_Santos10 LinkedIn: https://br.linkedin.com/in/alexandre-dos-santos-87961635 ======================================================================

Olá Alexandre Tente: dados$classes <- ifelse(dados$V2 %in% GROUP1,"Group1" ,"Group2") ? match Sugiro você usar o pacote data.table ou dplyr V1 = c(1,1,1,1,1,12,12,12,12,12,31,31,31,31,31,31,31,142,142,142) V2 = paste('P', V1, sep = "") GROUP1 = c("P12B", "P12C", "P12D", "P12E", "P12F", "P12G", "P12H", "P12I", "P13A", "P13B", "p142", "P142", "p148", "P148", "P15B", "P15C", "P15D", "P15E", "P15F", "P15G", "P15H", "P15I", "P15J", "P16A", "P16B", "P16C", "P16D", "P16E", "P16F", "P16G", "P16H", "P16I", "P16J", "P16K", "P16", "P1A", "P1J", "P1K", "P1L", "P21A", "P27A", "P27B", "P27C", "P27D", "P27E", "P2A", "P2B", "P2D", "P2E", "P2F", "P2G", "P2", "P31A", "P31B", "P34", "P37", "P3A", "P3B", "P3C", "P3D", "P3E", "P3F", "P492", "P6A", "P6B", "P6C", "P7A", "P7B", "P7C", "P7D", "P7E", "P7F", "P7G", "P7H", "P12A") library(data.table) dados = data.table(V1, V2) dados[V2 %in% GROUP1, classes := "Group1"] dados[ ! V2 %in% GROUP1, classes := "Group2"] dados saudações Em 22/03/2016 16:40, ASANTOS escreveu:
Caros Listeiros,
Estou tentando empregar as dicas do Rafael para achar uma maneira de classificar o nome de variáveis, mas não individualmente com os níveis e sim com um vetor que indica quais são os níveis de interesse que quero classificar. É possível fazer isso com um vetor, no meu caso GROUP1, ao invés de utilizar o nome de cada nível individualmente seguido de | na função ifelse?
dados<-NULL dados$V1<-c(1,1,1,1,1,12,12,12,12,12,31,31,31,31,31,31,31,142,142,142) dados$V2 <- paste('P', dados$V1,sep="") GROUP1<-c("P12B", "P12C", "P12D", "P12E", "P12F", "P12G", "P12H", "P12I", "P13A", "P13B", "p142", "P142", "p148", "P148", "P15B", "P15C", "P15D", "P15E", "P15F", "P15G", "P15H", "P15I", "P15J", "P16A", "P16B", "P16C", "P16D", "P16E", "P16F", "P16G", "P16H", "P16I", "P16J", "P16K", "P16", "P1A", "P1J", "P1K", "P1L", "P21A", "P27A", "P27B", "P27C", "P27D", "P27E", "P2A", "P2B", "P2D", "P2E", "P2F", "P2G", "P2", "P31A", "P31B", "P34", "P37", "P3A", "P3B", "P3C", "P3D", "P3E", "P3F", "P492", "P6A", "P6B", "P6C", "P7A", "P7B", "P7C", "P7D", "P7E", "P7F", "P7G", "P7H", "P12A") dados$classes<- ifelse((dados$V2)==GROUP1,"Group1" ,"Group2")
Obrigado,
participantes (2)
-
ASANTOS
-
salah