Contrastes e função

#Caros, existe alguma forma de melhorar este exemplo: vetor <- rep('0',108) z=1 for(i in 0:5){ for(j in 0:2){ for(k in 1:2){ for (l in 0:2){ vetor[z] <- paste(i,j,k,l,sep='') z = z + 1 } } } } vetor #Aproveitando, se quero usar um tapply extraindo média, #desvio-padrão e uma função personalizada, alguém saberia com fazer as #três funções de uma vez só? #Gostaria de executar o comando abaixo de uma única vez em um tapply. #Alguma sugestão?! set.seed(1) x <- rnorm(1000,500,100) y <- trunc(runif(1000,1,10)) fper <- function(x){mean(x-500)/100} dataframe <- t(rbind(tapply(x,y,mean),tapply(x,y,sd),tapply(x,y,fper))) colnames(dataframe) <- c('media','desvp','fper') dataframe Atenciosamente, Leandro Lins Marino Centro de Avaliação Fundação CESGRANRIO Rua Santa Alexandrina, 1011 - 2º andar Rio de Janeiro, RJ - CEP: 20261-903 R (21) 2103-9600 R.:236 ( leandro@cesgranrio.org.br Antes de imprimir pense em sua responsabilidade e compromisso com o MEIO AMBIENTE Esta mensagem, incluindo seus anexos, pode conter informacoes privilegiadas e/ou de carater confidencial, nao podendo ser retransmitida sem autorizacao do remetente. Se voce nao e o destinatario ou pessoa autorizada a recebe-la, informamos que o seu uso, divulgacao, copia ou arquivamento sao proibidos. Portanto, se você recebeu esta mensagem por engano, por favor, nos informe respondendo imediatamente a este e-mail e em seguida apague-a.

Pergunta1) sort(apply(expand.grid(0:5, 0:2, 1:2, 0:2), 1, paste, collapse='')) Pergunta2) do.call(rbind, tapply(x, y, function(z) c(media=mean(z), desvp=sd(z), fper=fper(z)))) ou aggregate(x, by=list(Grupo=y), function(z) c(media=mean(z), desvp=sd(z), fper=fper(z))) ou, se vc quiser "embelezar": g = function(z) c(media=mean(z), desvp=sd(z), fper=fper(z)) do.call(rbind, tapply(x, y, g)) aggregate(x, by=list(Grupo=y), g) b

Benilton, Obrigado! Atenciosamente, Leandro Lins Marino Centro de Avaliação Fundação CESGRANRIO Rua Santa Alexandrina, 1011 - 2º andar Rio de Janeiro, RJ - CEP: 20261-903 R (21) 2103-9600 R.:236 ( leandro@cesgranrio.org.br Antes de imprimir pense em sua responsabilidade e compromisso com o MEIO AMBIENTE Esta mensagem, incluindo seus anexos, pode conter informacoes privilegiadas e/ou de carater confidencial, nao podendo ser retransmitida sem autorizacao do remetente. Se voce nao e o destinatario ou pessoa autorizada a recebe-la, informamos que o seu uso, divulgacao, copia ou arquivamento sao proibidos. Portanto, se você recebeu esta mensagem por engano, por favor, nos informe respondendo imediatamente a este e-mail e em seguida apague-a. -----Mensagem original----- De: r-br-bounces@listas.c3sl.ufpr.br [mailto:r-br-bounces@listas.c3sl.ufpr.br] Em nome de Benilton Carvalho Enviada em: quinta-feira, 18 de agosto de 2011 09:51 Para: r-br@listas.c3sl.ufpr.br Assunto: Re: [R-br] Contrastes e função Pergunta1) sort(apply(expand.grid(0:5, 0:2, 1:2, 0:2), 1, paste, collapse='')) Pergunta2) do.call(rbind, tapply(x, y, function(z) c(media=mean(z), desvp=sd(z), fper=fper(z)))) ou aggregate(x, by=list(Grupo=y), function(z) c(media=mean(z), desvp=sd(z), fper=fper(z))) ou, se vc quiser "embelezar": g = function(z) c(media=mean(z), desvp=sd(z), fper=fper(z)) do.call(rbind, tapply(x, y, g)) aggregate(x, by=list(Grupo=y), g) b _______________________________________________ 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.

Leandro, acho que pode ser assim, ### Vetor apply(expand.grid(0:5,0:2,1:2,0:2),1,function(x){paste(x,collapse='')}) ### Segunda parte set.seed(1) x <- rnorm(1000,500,100) y <- trunc(runif(1000,1,10)) fper <- function(x){mean(x-500)/100} require(plyr) ldply(tapply(x,y,function(x){c(mean(x),sd(x),fper(x))})) Att Em 18 de agosto de 2011 09:38, Leandro Marino <leandro@cesgranrio.org.br>escreveu:
#Caros, existe alguma forma de melhorar este exemplo:
vetor <- rep('0',108) z=1 for(i in 0:5){ for(j in 0:2){ for(k in 1:2){ for (l in 0:2){ vetor[z] <- paste(i,j,k,l,sep='') z = z + 1 } } } } vetor
#Aproveitando, se quero usar um tapply extraindo média, #desvio-padrão e uma função personalizada, alguém saberia com fazer as #três funções de uma vez só?
#Gostaria de executar o comando abaixo de uma única vez em um tapply. #Alguma sugestão?!
set.seed(1) x <- rnorm(1000,500,100) y <- trunc(runif(1000,1,10)) fper <- function(x){mean(x-500)/100} dataframe <- t(rbind(tapply(x,y,mean),tapply(x,y,sd),tapply(x,y,fper))) colnames(dataframe) <- c('media','desvp','fper') dataframe
Atenciosamente, Leandro Lins Marino Centro de Avaliação Fundação CESGRANRIO Rua Santa Alexandrina, 1011 - 2º andar Rio de Janeiro, RJ - CEP: 20261-903 R (21) 2103-9600 R.:236 ( leandro@cesgranrio.org.br
Antes de imprimir pense em sua responsabilidade e compromisso com o MEIO AMBIENTE
Esta mensagem, incluindo seus anexos, pode conter informacoes privilegiadas e/ou de carater confidencial, nao podendo ser retransmitida sem autorizacao do remetente. Se voce nao e o destinatario ou pessoa autorizada a recebe-la, informamos que o seu uso, divulgacao, copia ou arquivamento sao proibidos. Portanto, se você recebeu esta mensagem por engano, por favor, nos informe respondendo imediatamente a este e-mail e em seguida apague-a.
_______________________________________________ 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.
participantes (3)
-
Benilton Carvalho
-
Eder David Borges da Silva
-
Leandro Marino