r语言求平均值

Python016

r语言求平均值,第1张

vec = vector(length =1000)

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))