
Allan, um CMR é o que nossos amigos precisam para te ajudar. Poderia postar o teu banco em um site tipo dropbox, datafile host e enviar o link no email para consulta. De qualquer forma, talvez você possa usar a rotina abaixo:Examples #AGGREGATE No R ?aggregate ## Compute the averages for the variables in 'state.x77', grouped ## according to the region (Northeast, South, North Central, West) that ## each state belongs to. aggregate(state.x77, list(Region = state.region), mean) ## Compute the averages according to region and the occurrence of more ## than 130 days of frost. aggregate(state.x77, list(Region = state.region, Cold = state.x77[,"Frost"] > 130), mean) ## (Note that no state in 'South' is THAT cold.) ## example with character variables and NAs testDF <- data.frame(v1 = c(1,3,5,7,8,3,5,NA,4,5,7,9), v2 = c(11,33,55,77,88,33,55,NA,44,55,77,99) ) by1 <- c("red","blue",1,2,NA,"big",1,2,"red",1,NA,12) by2 <- c("wet","dry",99,95,NA,"damp",95,99,"red",99,NA,NA) aggregate(x = testDF, by = list(by1, by2), FUN = "mean") # and if you want to treat NAs as a group fby1 <- factor(by1, exclude = "") fby2 <- factor(by2, exclude = "") aggregate(x = testDF, by = list(fby1, fby2), FUN = "mean") ## Formulas, one ~ one, one ~ many, many ~ one, and many ~ many: aggregate(weight ~ feed, data = chickwts, mean) aggregate(breaks ~ wool + tension, data = warpbreaks, mean) aggregate(cbind(Ozone, Temp) ~ Month, data = airquality, mean) aggregate(cbind(ncases, ncontrols) ~ alcgp + tobgp, data = esoph, sum) ## Dot notation: aggregate(. ~ Species, data = iris, mean) aggregate(len ~ ., data = ToothGrowth, mean) ## Often followed by xtabs(): ag <- aggregate(len ~ ., data = ToothGrowth, mean) xtabs(len ~ ., data = ag) ## Compute the average annual approval ratings for American presidents. aggregate(presidents, nfrequency = 1, FUN = mean) ## Give the summer less weight. aggregate(presidents, nfrequency = 1, FUN = weighted.mean, w = c(1, 1, 0.5, 1)) Outra rotina: No R ?apply #APPLY ## Compute row and column sums for a matrix: x <- cbind(x1 = 3, x2 = c(4:1, 2:5)) dimnames(x)[[1]] <- letters[1:8] apply(x, 2, mean, trim = .2) col.sums <- apply(x, 2, sum) row.sums <- apply(x, 1, sum) rbind(cbind(x, Rtot = row.sums), Ctot = c(col.sums, sum(col.sums))) stopifnot( apply(x, 2, is.vector)) ## Sort the columns of a matrix apply(x, 2, sort) ##- function with extra args: cave <- function(x, c1, c2) c(mean(x[c1]), mean(x[c2])) apply(x,1, cave, c1="x1", c2=c("x1","x2")) ma <- matrix(c(1:4, 1, 6:8), nrow = 2) ma apply(ma, 1, table) #--> a list of length 2 apply(ma, 1, stats::quantile)# 5 x n matrix with rownames stopifnot(dim(ma) == dim(apply(ma, 1:2, sum))) ## Example with different lengths for each call z <- array(1:24, dim=2:4) zseq <- apply(z, 1:2, function(x) seq_len(max(x))) zseq ## a 2 x 3 matrix typeof(zseq) ## list dim(zseq) ## 2 3 zseq[1,] apply(z, 3, function(x) seq_len(max(x))) # a list without a dim attribute Edson Lira Estatístico Manaus-Amazonas ________________________________ De: "alanarocha@sapo.pt" <alanarocha@sapo.pt> Para: r-br <r-br@listas.c3sl.ufpr.br> Enviadas: Terça-feira, 2 de Julho de 2013 7:41 Assunto: [R-br] trabalhar com médias Olá, eu tenho estes dados de 4 grupos: A. pthi <150 B. pthi 150-300 C. pthi 300-600 D. >600 112 277 317 1153 126 208 454 1199 210 475 2794 257 444 2081 246 493 1576 264 599 901 589 871 583 722 599 1110 548 1412 454 732 382 601 533 1130 335 642 598 682 448 1035 355 1203 462 1136 500 1109 354 805 369 912 547 1454 842 2384 760 675 810 1215 1565 1585 942 827 1015 631 647 709 2192 1392 1028 1201 892 1287 1579 1071 669 1103 964 926 1501 979 1178 625 678 1054 855 983 1076 876 que codigos eu posso fazer no R para responder a estas perguntas: 7. Obter a Dose média em cada grupo e o gráfico da sua evolução ao longo do tempo. Ana _______________________________________________ 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.