一张成绩单 怎么用R语言 怎么输数据 并对数据进行分析,比如求均值,中位数,方差分析 回归分析

Python016

一张成绩单 怎么用R语言 怎么输数据 并对数据进行分析,比如求均值,中位数,方差分析 回归分析,第1张

idΜ五ⅶuq药皈dΜ五ⅶpaエбq药皈aエбaエб84466447312011-09-12 19:08:42n┒唬Ф谩udg猢vcjタ┌twx┄容量指样本数,显然为7 中位数是将样本从小到大排列,处于中间的那个样本(样本数为奇数)或处于中间的那两个样本(样本数为偶数)的均值,这里是0 2 2 2 5 10 14 中间的是第4个数:2 样本均值,总和=35,再除以样本数7,结果为5 样本方差按以下公式计算:1/(n-1)Σ(xi-x0)^2 其中x0表示样本均值 1/6*[5^2+3^2*3+0+5^2+9^2]=158/6=26.33

首先,原始数据是由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")

R语言使用技巧

当你要对按照数据框某一列的信息对文件进行分组时

1. 可以使用split函数

2. 可以使用group_by() 函数,但是这个函数不能方便你接下来对每个小的group进行更为复杂的操作。

3. group_split() 函数

4. group_nest() 函数以及nest()函数

具体参数可参考:

https://www.jianshu.com/p/2efbf6632dc6

group_list()可以把大的数据框按照某一列切分为小的数据框,这些小的数据框再组成一个list

参考: https://mp.weixin.qq.com/s/XGb3P6SY2UlZMgun_etFmg

nest()函数可以创建嵌套数据框,将多列多行组成一个列表,而这个列表单独成为一列,称为列表列。

nest() 函数有两种使用方式。当用于分组数据框时,nest() 函数会保留用于分组的列,而将其他所有数据归并到列表列中。

还可以在未分组数据框上使用nest(),此时需要指定嵌套哪些列。

使用这些函数时,要清楚输入输出的格式是什么,怎么样取值才能得到想要的格式,是使用appply还是lapply,以及map要根据实际情况来定。