## aggregate function dawtagdsan torloor angilan ded olonloguud uusgen statistic uzuuleltudig tootsdog
library(wooldridge)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(plyr)
## -------------------------------------------------------------------------
## You have loaded plyr after dplyr - this is likely to cause problems.
## If you need functions from both plyr and dplyr, please load plyr first, then dplyr:
## library(plyr); library(dplyr)
## -------------------------------------------------------------------------
## 
## Attaching package: 'plyr'
## The following objects are masked from 'package:dplyr':
## 
##     arrange, count, desc, failwith, id, mutate, rename, summarise,
##     summarize
data("wage1")
aggregate(wage1$wage~wage1$educ,wage1,mean)
##    wage1$educ wage1$wage
## 1           0   3.530000
## 2           2   3.750000
## 3           3   2.920000
## 4           4   3.170000
## 5           5   2.900000
## 6           6   3.985000
## 7           7   4.387500
## 8           8   5.038182
## 9           9   3.275882
## 10         10   3.835667
## 11         11   4.185517
## 12         12   5.371364
## 13         13   5.598974
## 14         14   6.231698
## 15         15   6.321429
## 16         16   8.041618
## 17         17  11.343333
## 18         18  10.678947
aggregate(wage1$wage~wage1$female,wage1,mean)
##   wage1$female wage1$wage
## 1            0   7.099489
## 2            1   4.587659
aggregate(wage1$wage~wage1$educ+wage1$female,wage1,mean)
##    wage1$educ wage1$female wage1$wage
## 1           2            0   3.750000
## 2           3            0   2.920000
## 3           4            0   3.170000
## 4           6            0   3.952500
## 5           7            0   5.600000
## 6           8            0   5.790667
## 7           9            0   3.430000
## 8          10            0   4.585385
## 9          11            0   4.840588
## 10         12            0   6.946235
## 11         13            0   6.732143
## 12         14            0   7.334839
## 13         15            0   6.553333
## 14         16            0   9.017333
## 15         17            0  12.087000
## 16         18            0   9.886154
## 17          0            1   3.530000
## 18          5            1   2.900000
## 19          6            1   4.050000
## 20          7            1   3.175000
## 21          8            1   3.425714
## 22          9            1   3.138889
## 23         10            1   3.262353
## 24         11            1   3.257500
## 25         12            1   4.186726
## 26         13            1   4.964400
## 27         14            1   4.677273
## 28         15            1   6.012222
## 29         16            1   6.132609
## 30         17            1   7.625000
## 31         18            1  12.396667
## group by function
wage1 %>%
group_by(wage1$female) %>%
summarise(avgwage=mean(wage),avgeduc=mean(educ),avgnumdep=mean(numdep))
##    avgwage  avgeduc avgnumdep
## 1 5.896103 12.56274  1.043726