无意中发现网上的一个数据分析R应用教程,看了几集感觉还不错,本文做一个学习笔记(知识点来源:视频内容+R实战+自己的理解),视频详细的信息请参考http://www.itao521.com/course/34,非常不错的网站,站长的Q群是323370861(这个群的童鞋们都很给力,学习也很上进,各种团购买hadoop,nosql,spark的视频学习),我网站会员ID是515,也欢迎各方朋友交流,OK,开始

       统计的一些基础概念,如下图所示,

       数据分析常用到的一些算法(下图貌似是Spss modeler里面的缩略图),常用的聚类,分类,维度归约,回归预测,时间序列算法都有
 
一、基本操作
 
创建向量和矩阵(我以前的博客里面写过R相关的基本入门,感兴趣的请移步http://www.cnblogs.com/kobedeshow/p/3339760.html)
计算平均,和,最小值,最大值,方差,标准差,练乘
 
帮助函数
例如 min 这个函数 我不知道什么意思,那么可以help(min)或者?min
 
产生向量
1:10*2+1等价于(1:10)*2+1,R编程的一个最基本的特点是向量化编程,不能套用C或JAVA语言里面的迭代思想,否则写出来的程序性能很差
a[-5] 相当于就第五个元素不显示,其他都显示
a[-(1:3)]相当于就第1,2,3个元素不显示,其他都显示
a[a<20] 首先a<20 会判断每个元素是否<20,是就是true,否就是flase,返回这样的向量index,,最后显示a[index]
seq函数 seq(5,20)从5开始到20,默认步长是1,by=2步长为2
 
which函数 ,返回元素下标
 
matrix()函数,默认是按列存储,参数byrow=T设置按行存储
 
矩阵转置函数t()、加减操作
矩阵相乘,注意是a%*%b,如果a*b这表示两个矩阵的对应元素相乘
矩阵求逆--solve() rnorm(16) 是返回16个符合正态分布的随机数(默认均值=0,方差=1)
 
线性方程组求解--solve(a,b)  形如 a*X=b
 
特征值跟特征向量 eigen()  A*特征向量矩阵=特征值矩阵*特征向量矩阵
 
向量,矩阵,数组,向量一维,矩阵二维,数组多维,这三种结构必须要同一类型的元素(字符,数字,逻辑),如果要包含多种类型元素请使用数据框(很强大的东东,python里面的数据分析报pandas就是使用了这种数据结构)
 
 
数据框
 
文件读取,head=T表示读取头文件,数据读取可以安装ODBC包等
 
循环语句
for循环
 
while循环
 
概率分布函数,具体的参数可以help(*)
 
 
二、图形操作
直方图
列联表分析(列联函数table())
 
散点图(变量间的相关性,类似线性回归里面,画残差散点图)
饼图
箱线图(经常会用到,可以看出数据的散度,是否稳定),箱子的上线跟下线表示第一,三个四分位数,最两端的直线等于(第一个四分位+最小值)/2和(第三个四分位+最大值)/2(不知道有没有记错),外面的小圆圈表示异常值
boxplot(x1,x2,x3)
 
星相图(对每个样本画一个星状,几条线代表样本有几个属性,线的长短代表值的大小)
stars(x1,x2,x3)
脸谱图(用处不是很大,适合小样本,看都看累了,呵呵)
茎叶图(下面表示,有61,64,65,66,。。。)
 
QQ图(检验是否是正态分布,直线斜率是标准差,截距是均值,点的分布越接近直线,就越接近正态分布)
热力图(横坐标表示样本特征,纵坐标是样本,颜色深浅表示值的不同
散点图集(plot(iris[,1:4]也能产生这样的效果))
叠加图(画子图)
 
三、相关分析跟回归分析
相关分析
分析两个变量的相关性,R中可以计算多种相关系数,包括pearson,spearman,kendall相关系数,可以用cor(x,method=pearson/spearman/kendall)
可以画出特征散点矩阵,观察两两特征变量的相关性
 
 
回归分析
关于回归的解释,在这里就不详细说了,R中可以用lm()函数,例如fit <- lm(weight~height,data=women)
会得出数据集women中,height跟weight间的回归方程
summary(fit),分别有call、residuals的5个统计量(每个样本的回归拟合残差的统计)、coefficients(每个自变量的回归系数)
普通的线性回归,要满足数据的正态性、自变量之间独立性、自变量跟因变量之间线性和同方差性。
如果违反上面的假设,可以考虑别的回归模型,逐步回归、决策树回归,kernel 岭回归等,这里就不细说了
 
下部预告:
常见分类算法(logistic回归,线性判别式LDA,贝叶斯NB,决策树DT,神经网络,最近邻)
关联规则分析(apriori,序列模式prefixspan,包括简要说下mapreduce版的fp-growth)
聚类算法(层次聚类,谱聚类,K均值/中心)
维度归约(PCA,SVD,ICA)

数据分析R语言(1)的更多相关文章

  1. 数据分析R语言1

    数据分析R语言 无意中发现网上的一个数据分析R应用教程,看了几集感觉还不错,本文做一个学习笔记(知识点来源:视频内容+R实战+自己的理解),视频详细的信息请参考http://www.itao521.c ...

  2. 【数据分析 R语言实战】学习笔记 第十一章 对应分析

    11.2对应分析 在很多情况下,我们所关心的不仅仅是行或列变量本身,而是行变量和列变量的相互关系,这就是因子分析等方法无法解释的了.1970年法国统计学家J.P.Benzenci提出对应分析,也称关联 ...

  3. 【数据分析 R语言实战】学习笔记 第四章 数据的图形描述

    4.1 R绘图概述 以下两个函数,可以分别展示二维,三维图形的示例: >demo(graphics) >demo(persp) R提供了多种绘图相关的命令,可分成三类: 高级绘图命令:在图 ...

  4. 【数据分析 R语言实战】学习笔记 第三章 数据预处理 (下)

    3.3缺失值处理 R中缺失值以NA表示,判断数据是否存在缺失值的函数有两个,最基本的函数是is.na()它可以应用于向量.数据框等多种对象,返回逻辑值. > attach(data) The f ...

  5. 经典书单、站点 —— 大数据/数据分析/R语言

    1. 科普.入门 <大数据智能>,刘知远.崔安顺等著: 特色:系统,宏观和全面: 2. R 语言站点 http://langdawei.com/:R 语言数据采集与可视化:

  6. 【数据分析 R语言实战】学习笔记 第五章 数据的描述性分析(下)

    5.6 多组数据分析及R实现 5.6.1 多组数据的统计分析 > group=read.csv("C:/Program Files/RStudio/002582.csv") ...

  7. 【数据分析 R语言实战】学习笔记 第八章 方差分析与R实现

    方差分析泛应用于商业.经济.医学.农业等诸多领域的数量分析研究中.例如商业广告宣传方面,广告效果可能会受广告式.地区规模.播放时段.播放频率等多个因素的影响,通过方差分析研究众多因素中,哪些是主要的以 ...

  8. 【数据分析 R语言实战】学习笔记 第七章 假设检验及R实现

    假设检验及R实现 7.1假设检验概述 对总体参数的具体数值所作的陈述,称为假设;再利用样本信息判断假设足否成立,这整个过程称为假设检验. 7.1.1理论依据 假设检验之所以可行,其理沦背景是小概率理论 ...

  9. 【数据分析 R语言实战】学习笔记 第六章 参数估计与R实现(下)

    6.3两正态总体的区间估计 (1)两个总体的方差已知 在R中编写计算置信区间的函数twosample.ci()如下,输入参数为样本x, y,置信度α和两个样本的标准差. > twosample. ...

随机推荐

  1. functools.wraps

    我们在使用 Decorator 的过程中,难免会损失一些原本的功能信息.直接拿 stackoverflow 里面的栗子     1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...

  2. shell脚本检测网络是否畅通

    shell初始化安装脚本执行时,需从网络上安装一些rpm包,所有需要先检测网络的畅通性, 代码 #检测网络链接&&ftp上传数据 function networkAndFtp() { ...

  3. XCode5无法设置Deployment Target的解决办法

    今天使用XCode5创建新项目的时候发现无法修改Deployment Target,只能选择iOS7,谷歌了一下找到了答案,在这里分享给大家:) 这是由于XCode5默认会选择在64位的环境下运行,在 ...

  4. python 中的"switch"用法

    转载:http://python.jobbole.com/82008/ 为什么Python中没有Switch/Case语句? 不同于我用过的其它编程语言,Python 没有 switch / case ...

  5. CAN协议学习(一)协议介绍

    一.简介 CAN 是 Controller Area Network 的缩写(以下称为 CAN),是 ISO 国际标准化的串行通信协议. 在当前的汽车产业中,出于对安全性.舒适性.方便性.低公害.低成 ...

  6. 改进Spring中的分页技术

    Spring中有一个PagedListHolder,能够实现分页. 但此类有几个缺点: 1. 使用此类的代码比較繁琐 2. 此类存放的数据源是全部的记录集,即对于记录数为1000条的数据,即使我们仅仅 ...

  7. PHP性能:序——谈性能

    PHP性能:序——谈性能 这里不谈PHP的性能和其他语言的性能,这里讨论PHP自身的性能问题. 性能是什么? 通俗的来讲,性能,就是在固定的环境下能做的事情的多少. 为什么要性能? 1.每一个软件或网 ...

  8. web 开发之js---js 实现自动添加input text 编辑框

    <html><head><script type="text/javascript">function addNewLine(){var for ...

  9. JAVA读文件和写文件的的代码模版

    有的时候经常为真么读写文件最合理发愁,因为JAVA提过读写文件的方式太多了(C更甚至,fopen & open又有多少人傻傻分不去,更别说ReadFile了). 这里个人绝对比较好的写法,仅供 ...

  10. Linux进程间通信(三) - 信号

    什么是信号 软中断信号(signal,又简称为信号)用来通知进程发生了异步事件.在软件层次上是对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的.信号是进程间通 ...