for(i in 1:1000)
vec[i] = UR_FUNC()
mean(vec)
首先,原始数据是由name(名字),class(班级),course(课程)和score(分数)组成的,将其导入R语言并存储在Mydata对象里接下来,我们利用sqldf包来处理分组汇总的问题。
由于sqldf包不是R语言自带的,所以先用以下代码安装sqldf包:
install.packages("sqldf")
然后选择“China(Beijing)”镜像站点进行安装,R语言会同时自动安装“sqldf”包的依赖包。
安装好sqldf包及其依赖包后,输入以下代码加载sqldf包:
library(sqldf)
一切准备就绪,接下来用sqldf统计每个同学的总成绩和平均分:
sqldf("select name,sum(score) as score_sum,avg(score) as score_avg from Mydata group by name")
统计每个班级的总成绩:
sqldf("select class,sum(score) as score_sum from Mydata group by class")
统计每个班级的每门课程的总成绩和平均分:
sqldf("select class,course,sum(score) as score_sum,avg(score) as score_avg from Mydata group by class,course")
#把年份取出来,按10年分成一组decade <- ceiling(Temp_m[1] / 10)
names(decade) <- "decade"
#把分组信息合并成原数据框
Temp_m <- cbind.data.frame(Temp_m, decade)
#加载plyr包。
#把Temp_m这个数据框中除year列的数据外,按照decade分组分别把每列求算术平均值。
#并放在Temp_mean10数据框中。
#Temp_mean10含有decade信息,进行索引时需要注意。
library(plyr)
Temp_mean10 <- ddply(Temp_m[-1], .(decade), colwise(mean))