How to calculate the mean of different columns in r? -
i have data.frame. need create 2 additional columns means of every other columns same kind of data.
here dput(head())
of file
structure(list(cole_codigo_colegio = c(182l, 3046l, 3327l, 3418l, 3459l, 3525l), utilidad12.1 = c(5.67960793875611e+84, 6.70878394856429e+83, 3.10783852265787e+84, 1.80000434506295e+84, 7.92256239238555e+84, 2.6032583906869e+83), genero.x = c(0.581395348837209, 0.525423728813559, 0.636363636363636, 0.55, 0.488636363636364, 0.63768115942029), utilidad11.1 = c(1.15336934758534e+73, 3.77916671655328e+72, 4.7319512062371e+73, 7.97038534283783e+72, 1.32237182934735e+73, 6.55595718179632e+72), genero.y = c(0.527472527472527, 0.616666666666667, 0.526315789473684, 0.560975609756098, 0.450704225352113, 0.742268041237113), utilidad10.1 = c(5.09613856124168e+72, 5.25727948275145e+71, 1.4350276514895e+72, 7.04968791434072e+72, 5.97923875650689e+72, 4.30547735977066e+72), genero.x = c(0.566371681415929, 0.315789473684211, 0.571428571428571, 0.578947368421053, 0.353658536585366, 0.743243243243243), utilidad07.1 = c(1.401355333064e+71, 1.35282220680438e+71, 9.87359187347488e+71, 1.89236591312778e+72, 1.18195124980311e+73, 5.99279404969151e+70), genero.y = c(0.534883720930233, 0.522727272727273, 0.5, 0.560975609756098, 0.411764705882353, 0.714285714285714), utilidad06.1 = c(4.47939696971958e+72, 2.91946645871643e+72, 3.16785158272574e+72, 1.16889985482301e+74, 5.83958109398712e+74, 5.37640536403147e+71), genero = c(0.5, 0.6, 0.357142857142857, 0.5, 0.422680412371134, 0.695652173913043 )), .names = c("cole_codigo_colegio", "utilidad12.1", "genero.x", "utilidad11.1", "genero.y", "utilidad10.1", "genero.x", "utilidad07.1", "genero.y", "utilidad06.1", "genero"), row.names = c(na, 6l), class = "data.frame")
what mean want create column name "meanutilidad" mean of every other column name "utilidad" in it. , column name "meangenero" contains mean every other variable name "genera" in it.
i hope have expressed problem crearly enough.
i tried using following code semestre1["uprom"]<-apply(semestre1 [ ,2:dim(semestre1)[2]],1,mean, na.rm=t)
it's taking mean every column , can't figure way select every specific column.
you can this:
dat$meanutilidad <- rowmeans(dat[grep("utilidad", names(dat), value = true)]) dat$meangenero <- rowmeans(dat[grep("genero", names(dat), value = true)])
Comments
Post a Comment