Antônio, No subset, onde você informou variable==c("ninfa","pulpa"), tende a dar muito errado. O que este trecho está falando é "selecione todas as linhas onde variable seja igual a o conteúdo após o símbolo '=='". Pelo que eu entendi de seu desejo, é que você está querendo é "selecionar todas as linhas onde variable contenha 'ninfa' OU 'pulpa'". Existem varias construções lógicas que retornam de maneira correta, o que você supostamente deseja. A que menos dá erro de avaliação é a construção semelhante ao que fazemos quando usamos a instrução 'for', que seria usar variable %in% c('ninfa','pulpa'). Leonard Em 16 de ago de 2017 2:12 PM, "Antonio Moita via R-br" < r-br@listas.c3sl.ufpr.br> escreveu: # Suponha o sequinte experimento em blocos ao acaso # com tamanho da parcela experimental de 4 plantas # no qual se conta o número pulpas ninfas e ovos. # GOSTARIA DE OBTER O CONJUNTO DE DADOS QUE FOSSE A SOMA DE PLANTAS POR CULTIVAR BLOCOS, # QUANDO USO TODO CONJUNTO DE DADOS FUNCIONA BEM require(reshape) x<-factor(LETTERS[1:3]) cultivar<-rep(x, each=6) bloco<-rep(1:2,each=3) planta<-rep(1:3) ninfa<-c(0,0,0,1,1,1,0,0,0,1,2,3,0,1,2,0,0,1) pulpa<-c(1,0,1,1,0,1,0,0,0,0,0,0,0,2,1,0,0,4) ovos<-c(2,2,0,3,0,0,0,0,4,0,0,0,0,2,0,0,0,0) df<-data.frame(cultivar, bloco, planta, ninfa, pulpa, ovos) df.m<-melt(df, id=c("cultivar","bloco","planta")) df.m df.c<-cast(df.m, cultivar + bloco ~ variable, sum, na.rm=TRUE ) df.c # MAS QUANDO SELECIONO SÓ UMA PARTE # OS VALORES NÃO BATEM COM O QUADRO ANTERIOR, ALGUEM SABERIA EXPLICAR ???? df.c1<-cast(df.m, cultivar + bloco ~ variable, subset=variable==c("ninfa","pulpa"), sum) df.c1 # a SOMA DE ninfa e pulpa tambem esta errada df.c0<-cast(df.m, cultivar + bloco ~ ., subset=variable==c("ninfa","pulpa"), sum) df.c0 Att Antonio W Moita Embrapa Hortaliças _______________________________________________ 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.