2017年3月1日
1.使用ggplot2进行高级绘图
1.在ggplot2中,图是采用串联起来(+)号函数创建的,每个函数属于自己的部分。
library(ggplot2)
ggplot(data=mtcars,aes(x=wt,y=mpg))+geom_point()+
+ labs(title="Automobile Data",x="Weight",y="Miles Per Gallon")
注:aes()函数的功能是指定每个变量扮演的角色,在本例中,变量wt的值以映射到沿x轴的距离,变量mpg的值是映射到沿y轴的距离。
ggplot() 函数设置图形但没有自己的视觉输出。geom_point() 函数在图形中画点,创建了一个散点图。
labs() 函数是添加注释的。
2.
ggplot(data=mtcars,aes(x=wt,y=mpg))+geom_point(pch=17,color="blue",size=2)+
geom_smooth(method="lm",color="red",linetype=2)+
labs(title="Automobile Data",x="Weight",y="Miles Per Gallon")
注:geom_smooth() 函数增加了一条"平滑"曲线。默认情况下,平滑的曲线包括在95%的置信区间(较暗带)内。
3.ggplot2包提供了分组和小面化(faceting)的方法。分组指的是在一个图形中显示两组或多组观察结果。小面化指的是在单独、并排的图形上显示观察组。ggplot2包定义组或面时使用因子。
mtcars$am<- factor(mtcars$am,levels=c(0,1),labels=c("Automatic","manual"))
mtcars$vs<- factor(mtcars$vs,levels=c(0,1),labels=c("V-Engine","Straight Engine"))
> mtcars$cyl<- factor(mtcars$cyl)
> library(ggplot2)
> ggplot(data=mtcars,aes(x=hp,y=mpg,shape=cyl,color=cyl))+
+ geom_point(size=3)+
+ facet_grid(am~vs)+
+ labs(title="Automobile Data by Engine Type",x="Horsepower",y="Miles Per Gallon")
4.用几何函数指定图的类型
geom_bar() 条形图
geom_boxplot() 箱线图
geom_density() 密度图
geom_histogram() 直方图
geom_hline() 水平线
geom_jitter() 抖动图
geom_line() 线图
geom_point() 散点图
geom_rug() 地毯图
geom_smooth() 拟合曲线
geom_text() 文字注释
geom_violin() 小提琴图
geom_vline() 垂线
5.
ggplot(singer,aes(x=voice.part,y=height))+
geom_violin(fill="lightblue")+
geom_boxplot(fill="lightgreen",width=0.2)
6.在R中,组通常用分类变量的水平(因子)来定义。
ggplot()声明中的aes()函数负责分配变量(图形的视觉特征),所以这是一个分配分组变量的自然的地方。
data(Salaries,package="car")
library(ggplot2)
ggplot(data=Salaries,aes(x=salary,fill=rank))+
geom_density(alpha=0.3)
7.刻面
facet_wrap(~var,ncol=n) 将每个var水平排列成n列的独立图
facet_wrap(~var,nrow=n) 将每个var水平排列成n行的独立图
facet_grid(rowvar~colvar) rowvar和colvar组合的独立图,其中rowvar表示行,colvar表示列
facet_grid(rowvar~.) 每个rowvar水平的独立图,配置成一个单列
facet_grid(.~colvar) 每个colvar水平的独立图,配置成一个单行
8.
data(singer,package="lattice")
library(ggplot2)
ggplot(data=singer,aes(x=height,fill=voice.part))+
geom_density()+
facet_grid(voice.part~.)
9.
geom_smooth()函数来添加一系列的平滑曲线和置信区域。
ggplot(data=Salaries,aes(x=yrs.since.phd,y=salary,linetype=sex,shape=sex,color=sex))+
geom_smooth(method=lm,formula=y~poly(x,2),
se=FALSE,size=1)+
geom_point(size=2)
10.修改图形外观
(1)par()函数或特定图画函数的图形参数来自定义基本函数,但对pplot2图形没有影响。
(2)自定义函数
scale_x_continuous() scale_y_continuous():breaks=指定刻度标记,labels=指定刻度标记标签,limits=控制要展示的值得范围。
scale_x_discrete() scale_y_discrete() :breaks=对因子的水平进行放置和排序,labels=指定这些水平的标签,limits=表示哪些水平应该展示
coord_flip() 颠倒x轴和y轴
ggplot(data=Salaries,aes(x=rank,y=salary,fill=sex))+
geom_boxplot()+
scale_x_discrete(breaks=c("AsstProf","AssocProf","Prof"),
labels=c("Assistant\nProfessor",
"Associate\nProfessor","Full\nProfessor"))+
scale_y_continuous(breaks=c(50000,10000,150000,20000),
labels=c("$50k","$100K","$150K","$200K"))+
labs(title="Faculty Salary by Pank and Sex",x=" ",y="")
11.图例
标题的位置由theme()函数中的legend.position选项控制。
ggplot(data=Salaries,aes(x=rank,y=salary,fill=sex))+
geom_boxplot()+
scale_x_discrete(breaks=c("AsstProf","AssocProf","Prof"),
labels=c("Assistant\nProfessor",
"Associate\nProfessor","Full\nProfessor"))+
scale_y_continuous(breaks=c(50000,10000,150000,20000),
labels=c("$50k","$100K","$150K","$200K"))+
labs(title="Faculty Salary by Pank and Sex",x=" ",y="")+
theme(legend.position=c(0.1,0.8))
12.标尺
> ggplot(mtcars,aes(x=wt,y=mpg,size=disp))+
geom_point(shape=21,color="black",fill="cornsilk")+
labs(x="Wight",y="Miles Per Gallon",title="hongqianjin",size="Engine\nDisplacement")
ggplot(data=Salaries,aes(x=yrs.since.phd,y=salary,color=rank))+
scale_color_brewer(palette="Set1")+geom_point(size=2)
13.得到获得的数据集
library(RColorBrewer)
display.brewer.all()
14.多重图
使用图形参数myrow和基本函数layout()把两个或更多的基本图形放到单个图形中,这个方法在ggplot2包中不适用。
将多个ggplot2包的图形放到单个图形中最简单的方式是使用gridExtra包中grid.arrange()函数。
p1<-ggplot(data=Salaries,aes(x=rank))+geom_bar()
p2<-ggplot(data=Salaries,aes(x=sex))+geom_bar()
p3<-ggplot(data=Salaries,aes(x=yrs.since.phd,y=salary))+geom_point()
library(gridExtra)
grid.arrange(p1,p2,p3,ncol=3)
15.保存图形
ggsave()函数能更好的保存
library(ggplot2)
myplot <- ggplot(data=mtcars,aes(x=mpg))+geom_histogram()
ggsave(file="mygraph.png",plot=myplot,width=5,height=4)
ggplot(data=mtcars,aes(x=mpg))+geom_histogram()
ggsave(file="hongqianjin.pdf")
没有 plot=选项,最近创建的图形会保存
2.
目录
一、 SPSS安装及介绍... 2
1. SPSS的安装... 2
2. SPSS的介绍... 2
二、 统计学基本知识... 3
1. 统计学术语... 3
2. 连续型变量的描述性统计... 5
3. 分类型变量的统计描述... 8
4. -分布... 9
5. T-分布... 9
6. F-分布... 9
7. 参数估计... 9
8. 假设检验... 11
三、 SPSS分析的整体的思路... 13
1. 数据的获取... 13
2. 数据的处理... 13
3. 数据的预分析... 13
4. 模型的建立... 13
5. 报告的攒写... 14
一、 SPSS安装及介绍
1. SPSS的安装
百度网盘链接:http://pan.baidu.com/s/1bBHDwU
安装说明:
注意:请保持您的计算机连接网络!
第一步:双击IBM SPSS Statistics V21.0进行安装;
第二步:出现选择界面时选择中间选项(即 站点许可证);
第三步:点 下一步,一直到 完成(是否需要JAWS?随便选即可)。注意:最后那个单击注册获取提醒的请取消选项,此为广告。
第四步:请点击确定出现产品授权窗口,选择 立即授予产品许可证,复制下边代码:
QA3AW8U62Z4ZWTSPV44VXI65P59OLE547WHIQVZYWLARL9JEYQEGDUBLH8Z3ZCJAL3FLXMS98V95TSDYI7FOEXUPRR
点击下一步,一直到完成。
软件运行图标默认在程序菜单,请右键创建桌面快捷方式。
2. SPSS的介绍
(1)软件的名称
最早:Statistical Package for Social Science
现在:IBM SPSS Statistics
(2)发展历史
60年代:美国斯坦福大学三位研究生研制
70年代:SPSS总部成立于芝加哥,推出SPSS中小型机版-SPSSX
80年代:微机版(V1~4)SPSS/PC+
90年代: Windows版(V6~10)
本世纪:11~24版,中文版
从被IBM收购之后,SPSS的更新都是一年一个版本,每年的8月中旬,总能见到
(3)基本特点
功能强大:
囊括了各种成熟的统计方法与模型,如方差分析、回归分析、聚类分析等;在数据准备方面,SPSS提供了各种数据准备与数据整理技术,如利用值标签来快捷录入数据、对连续性变量进行离散型转化、将几个小类别合并为一个大类别、重复记录的发现、异常数据发现等;还有各种常用的统计图形
兼容性好:
在数据方面不仅可在SPSS中直接进行数据录入工作,还可将excel表格数据、文本格式数据导入SPSS中进行分析,并且可以在word等软件中使用中文输出结果
易用性强:
强大的统计功能、简单易用、界面的友好、操作的简单,SPSS也向高级用户提供了编程功能
扩展性高:(以一种不同的方式)
二、 统计学基本知识
SPSS是针对于初学者的一种专业的统计分析软件,它的操作主要是以菜单式为主,页面的设置与excel很类似,可以增加初学者的亲切感,并且,SPSS在进行操作的时候一定会用到的结果按钮,SPSS软件都会默认为选择,目的就是防止初学者忘记选择,这一方面很人性化,所以,对于一种方法的操作,只要记得步骤结果很快的就会出来,但是,SPSS是一种专业的统计分析软件,所以,它的难点不在于软件的操作,而在于结果的查看,SPSS的结果会用到相应的统计基础知识,所以,在进行操作之前,需要了解一些统计学知识。
1. 统计学术语
(1)变量
从一次观察到下一次观察会出现不同结果的某种特征,在SPSS中一列叫做一个变量,如:观察一个企业的销售额,这个月和上个月有所不同;观察股票市场上涨股票的家数,今天与昨天数量不一样;观察一个班学生的生活费支出,一个人和另一个人不一样;投掷一枚骰子观察其出现的点数,这次投掷的结果和下一次也不一样 “企业销售额”、“上涨股票的家数”、“生活费支出”、“投掷一枚骰子出现的点数”等就是变量;
在统计学里根据变量的形式与性质可以分为两大类:连续型变量与分类型变量,在后期进行分析的时候都是以分类型变量与连续型变量为主进行分析的,这两类变量其实是有原始的四种变量尺度转化而来的,下面展示的是原始的四种变量尺度在SPSS软件中相应的转化:
(2)个案
在SPSS软件中一行叫做一个个案,即为一个调查的主体
(3)总体与样本
总体(population):包含所研究的全部个体(数据)的集合;
样本(sample):从总体中抽取的一部分元素的集合;
样本量(sample size):构成样本的元素的数目
(4)概率
概率是对事件发生的可能性大小的度量;如:明天降水的概率是80%。这里的80%就是对降水这一事件发生的可能性大小的一种数值度量;你购买一只股票明天上涨的可能性是30%,这也是一个概率;
一个介于0和1之间的一个值;
事件A的概率记为P(A)
当试验的次数很多时,概率P(A)可以由所观察到的事件A发生次数(频数)的比例来逼近,在相同条件下,重复进行n次试验,事件A发生了m次,则事件A发生的概率可以写为:P(A)=
2. 连续型变量的描述性统计
连续变量的统计描述从以下的几个方面:
集中趋势:大部分数值集中到某区间的趋势;
离散趋势:数值向两边分散的趋势;
分布形状(是否对称,分布曲线的形状);
分布特征(单、双峰,有无极端值等)
(1)集中趋势
A:均值
消除了观测值的随机波动;易受极端值的影响
总体平均数:若一组数据X1,X2,…,XN,代表一个大小为N的有限总体,则其总体平均数为:
样本平均数:若一组数据x1,x2,…,xn,代表一个大小为n的有限样本,则其样本平均数为:
样本数据来自总体。样本的统计描述量可以反映总体数据的特征,但由于抽样等原因,使得样本数据不一定能够完全准确地反映总体,它可能与总体的真实值之间存在一定的差异。进行不同次抽样,会得到若干个不同的样本均值,它们与总体均值存在着不同的差异。
B:中位数
把一组数据按递增或递减的顺序排列,处于中间位置上的变量值就是中位数,它是一种位置代表值,所以不会受到极端数值的影响,具有较高的稳健性。
如果为奇数,那么该数列的中位数就是位置 (N+1)/2上的数;
如果N为偶数,中位数则是该数列中第 N/2与第N /2+1位置上两个数值的平均数。
C:四分位数
四分位数 是将一组个案由小到大(或由大到小)排序后,用3个点将全部数据分为四等份,与3个点上相对应的变量称为四分位数,分别记为Q1(第一四分位数)、Q2(第二四分位数)、Q3(第三四分位数)。其中,Q3到Q1之间的距离的一半又称为四分位差,记为Q。四分位差越小,说明中间的数据越集中;四分位数越大,则意味着中间部分的数据越分散,
四分之一位数=n/4
四份之三位数=3n/4
D:众数
一组数据中出现次数最多的变量值;
适合于数据量较多时使用;
不受极端值的影响;
一组数据可能没有众数或有几个众数
(2)离散趋势
A: 全距
定义:全距也称为极差,是数据的最大值与最小值之间的绝对差。
在相同样本容量情况下的两组数据,全距大的一组数据要比全距小的一组数据更为分散;
离散程度的最简单测度值:
易受极端值影响:
未考虑数据的分布
计算公式:最大值-最小值
B:方差与标准差
定义:方差是所有变量值与平均数偏差平方的平均值,它表示了一组数据分布的离散程度的平均值。标准差是方差的平方根,它表示了一组数据关于平均数的平均离散程度;
方差和标准差越大,说明变量值之间的差异越大,距离平均数这个“中心”的离散趋势越大
(样本方差)
(总体方差)
C:四分位差
也称为内距或四分间距;
上四分位数与下四分位数之差:Qd = QU – QL;
反映了中间50%数据的离散程度;
不受极端值的影响;
用于衡量中位数的代表性
D:离散系数
标准差与其相应的均值之比;
对数据相对离散程度的测度;
消除了数据水平高低和计量单位的影响;
用于对不同组别数据离散程度的比较;
计算公式为:
(3)分布形状与特征
A:正太分布
定义:若连续型随机变量X的概率分布密度函数为
其中,μ为平均数,