[R] Calculations with aggregate data: mean +/- standard deviation
Rui Barradas
ruipbarradas at sapo.pt
Wed Mar 19 19:50:52 CET 2014
Hello,
Maybe something like the following.
res <- merge(AVG, SD, by = "stimulation")
names(res)[2:3] <- c("AVG", "SD")
res$lower <- res$AVG - res$SD
res$upper <- res$AVG + res$SD
res
Hope this helps,
Rui Barradas
Em 19-03-2014 18:15, Luigi Marongiu escreveu:
> Dear all,
> I have obtained the averages (means) and standard deviations (SD) of
> different variable using the aggregate function, which I have found very
> useful for these kind of computation.
> However I would like to calculate the lower and upper ends of the
> data (that is mean - SD and mean + SD) varible-wise, but I don't know how
> to cope with this aggregate data. I cannot simply subtract the aggregated
> results (which I have called AVG and SD) and the aggregate function is a
> bit too complicated for me.
> Does anybody knows how to add and subtract the means and standard
> deviations obtained using the aggregate function?
>
> Best regards,
> Luigi
>
>
> my.data<-structure(list(
> column_1 = 1:120,
> column_2 = structure(c(
> 1,2,3,4,5,6,7,8,
> 1,2,3,4,5,6,7,8,
> 1,2,3,4,5,6,7,8,
> 1,2,3,4,5,6,7,8,
> 1,2,3,4,5,6,7,8,
> 1,2,3,4,5,6,7,8,
> 1,2,3,4,5,6,7,8,
> 1,2,3,4,5,6,7,8,
> 1,2,3,4,5,6,7,8,
> 1,2,3,4,5,6,7,8,
> 1,2,3,4,5,6,7,8,
> 1,2,3,4,5,6,7,8,
> 1,2,3,4,5,6,7,8,
> 1,2,3,4,5,6,7,8,
> 1,2,3,4,5,6,7,8), .Label = c("Unstimulated", "ESAT6", "CFP10", "Rv3615c",
> "Rv2654", "Rv3879", "Rv3873", "PHA"), class = "factor"),
> column_3 = c(
> 192.0519108,183.6403531,53.46798757,83.60638077,69.60749873,159.4706861,256.8765622,499.2899303,
> 2170.799076,1411.349719,2759.472348,2098.973397,2164.739515,1288.676574,1611.486543,6205.229575,
> 870.7424981,465.9967135,191.8962375,864.0937485,2962.693675,1289.259137,2418.651212,7345.712517,
> 0,168.1198893,674.4342961,101.1575401,47.81596237,0,0,1420.793922,
> 142.6871331,5.466468742,291.9564635,80.73914133,73.02239621,64.47806871,144.3543635,3167.959757,
> 3164.748333,1092.634557,28733.20269,1207.87783,729.6090973,151.8706088,241.2466141,9600.963594,
> 1411.718287,12569.96285,1143.254476,6317.378481,16542.27718,79.68025792,1958.495138,7224.503437,
> 208.4382941,69.48609769,656.691151,0.499017582,7114.910926,187.6296174,41.73980805,8930.784541,
> 4.276752185,0.432300363,60.89228665,1.103924786,0.490686366,1.812993239,7.264531581,1518.610307,
> 2172.051528,595.8513744,17141.84336,589.6565971,1340.287628,117.350942,593.7034054,24043.61463,
> 0,81.83292179,1539.864321,36.41722958,8.385131047,161.7647376,65.21615696,7265.573875,
> 97.84753179,154.051827,0.613835842,10.06138851,45.04879285,176.8284258,18795.75462,3067686.769,
> 5780.34957,944.2200834,2398.235596,1083.393165,2541.714557,1251.670895,1547.178549,1792.679176,
> 3067.988416,8117.210173,23676.02226,8251.937547,17360.80494,18563.61561,16941.865,31453.96708,
> 2767.493803,4796.33016,12292.93705,3864.657567,9380.673835,14886.44683,8457.88646,26050.47191)),
> .Names = c("row", "stimulation", "copy"), row.names = c(NA, -120L),
> class = "data.frame")
> attach(my.data)
>
> AVG<-aggregate(copy ~ stimulation , my.data, mean, na.rm = T)
> SD<-aggregate(copy ~ stimulation , my.data, sd, na.rm = T)
>
> # ??? question: AVG-SD and AVG + SD ???
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
More information about the R-help
mailing list