学习资源分享专题-数据分析与R语言

数据分析概念导入R基础及数据可视化统计推断、相关及回归分类聚类主成分分析因子分析本周会有很多干货推荐,而今天的主题是”数据分析与R语言“课程,这个课程有课件和视频,可于公众号聊天窗口回复”数据分析与R语言“免费获取。本文会对本课程的系列课件做一个简单的框架,并对其中基础的R入门知识做一个简单的概况总结。系列课件共有12个,本文会将课件的内容重新整合。数据分析概念导入内容见于课件1前半部分数据分析就是使用统计方法,有目的地对收集到的数据进行分析处理,并且解读分析结果。数据分析有一个多层模型,代表着数据分析的全部流程:

Data sources->Data warehouses->Data exploration->Data mining->Data presentations->Marking decisionsData sources就是源数据,也就是位于文章、信息提供者、功能数据库上的数据。Data warehouse:数据仓储,经过初步整理存储的结构化信息。Data exploration、Data Mining及Data presentations分别是数据探索、挖掘及可视化,也就是真正在R完成的工作。Marking decisions:根据数据得出最终的判断。R基础及数据可视化内容见于课件1后半部分及课件2R语言是一种尤其擅长统计分析和可视化的一种编程语言,免费开源,功能强大,且有大量的功能“包”可以直接使用。R的基本数据结构R的基本数据结构有向量、因子、数组、矩阵、数据框及列表。向量创建:使用函数c()创建,如x1

找索引函数which():寻找满足特定条件的元素的位置。

倒序和排序函数:rev(), sort()

寻求帮助:在R中对任何函数不清楚,都可以把它传给help函数,如help("c")、help("seq")、help("rep")即可打开帮助文档(双引号可不加)。矩阵创建:使用matrix()函数创建,如matrix(c(1:12),nrow=3,ncol=4),即可创建一个3行4列的矩阵,其内的元素为按列依次排列的1,2,3...12。矩阵转置及加减运算:t()及‘+’与‘-’运算符。

矩阵相乘及对角矩阵函数diag():两个矩阵的乘法使用%*%运算符,diag()有三个功能,传入一个矩阵则取出它的对角线元素;传入一个向量,则生成一个以这个向量为对角线的矩阵;传入一个数字,则生成一个以此数字为大小的单位矩阵。矩阵求逆solve()函数及矩阵特征值及特征矩阵eigen():更详细可以传入help()函数。数据框数据框是一种非常有用的数据公格式,它可以包含多种数据类型,矩阵只能有一种数据类型。创建:使用data.frame()创建,传入多个向量即可创建一个数据框,如data.frame(seq(16),rep(1,16)),即可创建一个数据框,它的第一列是1-16的自然数,第二列是16个1。从文件或剪切板读入数据创建数数据框:read.table()函数,如read.table("abc.txt")读取文档数据,read.table("clipboard",header=T)读取剪切板数据。

循环语句R中的循环语句可以使用for循环或while循环:for循环:for (i in 1:60) ,执行后,刚才创建的xVector向量就会变为3,5,7,9...121,共60个元素。while循环:i

求每位同学的平均分,每科成绩平均分,每位同学的总分,找出总分最高的同学的ID,如图。apply()函数可以对一个数据框的行或列使用一个函数,共有3个参数,第一个参数是数据框,本例中只取第2-4列(第一列为学生ID),第二个参数是行或列的标识,1对每行数据使用函数,2对每列数据使用函数,第三个参数代表要使用的函数。

直方图、散点图、列联表及柱状图、饼图、箱线图、QQ图、折线图、密度图,结果如图。

统计推断、相关及回归内容见于课件3、4、5、6统计推断正态检验:判断一组数据是否是满足正态性可以使用shapiro.test();单样本及双样本t检验:t.test();检验样本间的相关性的卡方检验chisq.test(),如图所示。

可以看到,由于科目x1是服从均匀分布,科目x2是服从正态分布的,因此x1的正态性检验shapiro.test的p值极显著,而科目x2的p值不显著。t检验中,科目x1的均值在90.44,单样本“均值=80”的检验p值显著,拒绝均值相等假设。双样本t检验中,如图,双样本t检验显著,因此拒绝均值相等假设(x1均值期望是90,x2均值期望80,所以肯定是拒绝零假设)。卡方检验有两种方法,可以直接调用chisq.test(),也可以将列联表table()结果传入summary()。卡方检验是用于判断两个变量的相关性,在本例中是代表一个学生在科目上x1和x2的成绩是否有相关性,如是否同时都是高分数、低分数,或当x1高分时x2低分等。相关求相关系数cor(),如cor(student$x1)相关系数的假设检验cor.test(),如cor.test(student$x1)求协方差矩阵cov(),如cov(student[c(“x1","x2","x3")])回归回归有多种:一元线性回归、多元线性回归、广义线性模型及非线性回归等。以下只以一元线性回归为例,使用lm()线性拟合,如要拟合studnet数据框中x1,x2的线性关系,以x2预测x1,则可以使用stuLm

从拟合结果来看,拟合公式为x2=0.09 * x1 + 83.27不过呢,方差分析结果表明,这个模型总体不显著,因此没有实际意义,其中x2的系数也不显著。多元线性回归多元线性回归也是使用lm函数,只是预测变量增多了,如使用x2和x3来联合预测x1:stuLm

如果你生信基本技能已经入门,需要提高自己,请关注上面的生信技能树,看我们是如何完善生信技能,成为一个生信全栈工程师。如果你是初学者,请关注下面的生信菜鸟团,了解生信基础名词,概念,扎实的打好基础,争取早日入门。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171212G0VZ8W00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券