地理学数学方法SPSS与R语言应用
本部分第二种方法为R语言,R语言是用于统计分析、绘图的语言和操作环境。集统计分析和绘图于一体,一个自由、免费、源代码开放的系统。
一至二章(各种图表)
1. SPSS实例:
Q1: 根据某百货公司连续40天的商品销售额数据进行适当的分组,编制频数分布表,并绘制直方图、茎叶图及箱线图。
1) 直方图
步骤:1)将数据从excel表格中复制到SPSS
2)图形>旧对话框>直方图
3) 将销售额导入变量,点击确定
结果:
2) 茎叶图:
步骤:1)分析>描述统计>探索
2)将销售额导入因变量列表中,在绘制中选择茎叶图,箱线图。
结果:
1)茎叶图
销售额Stem-and-Leaf Plot
Frequency Stem & Leaf
.00 2 .
4.00 2 . 5689
6.00 3 . 002344
15.00 3 . 556666777778889
9.00 4 . 012233444
6.00 4 . 556679
Stem width: 10
Each leaf: 1 case(s)
3) 箱线图
2. R语言实例:
4) 条形图:
从维多利亚南部到皇后区的七个地区的104只负鼠(possum)的年龄、尾巴的长度、总长度等9个特征值,我们仅考虑43只雌性负鼠的特征值,我们建立子集fpossum,考查雌性负鼠(fpossum)的总长度的频率分布.
library(DAAG)
library(ggplot2)
data("possum")
fpossum<-possum[possum$sex=="f",]
ggplot(fpossum, aes(x =fpossum$totlngth),color="blue") +
geom_histogram()+
labs(title="雌性负鼠长度分布图",x="负鼠长度") #ggplot2绘图直方图
5) 茎叶图
仍然考虑雌性负鼠的总长度
stem(fpossum$totlngth)
74 | 0
76|
78|
80| 05
82| 0500
84| 05005
86| 05505
88| 0005500005555
90| 5550055
92| 000
94| 05
96| 5
6) 箱线图
雌性负鼠总长度分布
boxplot(fpossum$totlngth)
箱子中的五根横线对应的坐标分别是最小值,第一4分位数, 中位数, 第三4分位数和最大值
第三章常用数值计算
1. SPSS实例:
Q2:计算40天销售额的均值、标准差、五数(最小值、第三4分位数、中位数、第一4分位数、最大值)
步骤:1)分析>描述统计>描述
2)单击选项,选中均值、标准差、最大最小值、方差。再单击继续,确定。如下图所示:
结果:
描述统计量 | ||||||
N | 极小值 | 极大值 | 均值 | 标准差 | 方差 | |
销售额 | 40 | 25 | 49 | 37.85 | 5.959 | 35.515 |
有效的 N (列表状态) | 40 |
2. R语言实例:
计算雌性负鼠的均值、标准差、五数(最小值、第三4分位数、中位数、第一4分位数、最大值)
Min. 1st Qu. Median Mean 3rd Qu. Max. 75.00 85.25 88.50 87.91 90.50 96.50结果分别为:最小值,第一四分位数,中位数,均值,第三四分位数,最大值
雌性负鼠总长度标准差:
a<-c(fpossum$totlngth)
stdevp<-sqrt(sum((a-mean(a))^2)/length(a)) #有偏估计标准差
print(stdevp) #输出偏差值
stdevp=4.133324
有偏估计标准差计算公式:
sd(fpossum$totlngth) #计算无偏估计标准差
4.182241
四章假设检验与方差分析
1. 假设检验
微波炉在炉门关闭时的辐射量是一个重要的质量指标. 设该指标服从正态分布 , 均值要求不超过0.12. 为检查近期产品的质量,从某厂生产的微波炉中抽查了25台, 得其炉门关闭时辐射量的均值0:13,问该厂生产的微波炉炉门关闭时辐射量是否偏高?
在显著性水平α=0.05时:
方差已知,μ的检验,Z检验:
$mean
[1] 0.13
$z
[1] 0.5
$p.value
[1] 0.6915
$conf.int
[1] 0.0908 0.1692
因为p值=0.6915 > α=0.05, 故接受原假设, 认为炉门关闭时辐射量没有偏高.
某车间用一台包装机包装精盐, 额定标准每袋净重500g, 设包装机包装出的盐每袋净重,某天随机地抽取9袋, 称得净重为490,506, 508, 502, 498, 511, 510, 515, 512.问该包装机工作是否正常?
1) SPSS方法:
步骤:1)将数据输入到SPSS中,修改变量视图中的名称。
2)分析>比较分析>单样本T检验
2)将净重导入检验变量中,检验值为500单击选项,置信区间百分比为95%,继续,确定。
结果:
单个样本统计量 | ||||
N | 均值 | 标准差 | 均值的标准误 | |
净重 | 9 | 505.78 | 7.886 | 2.629 |
单个样本检验 | ||||||
检验值 = 500 | ||||||
t | df | Sig.(双侧) | 均值差值 | 差分的 95% 置信区间 | ||
下限 | 上限 | |||||
VAR00001 | 2.198 | 8 | .059 | 5.77778 | -.2842 | 11.8398 |
结论分析:Sig=0.059<0.05,说明该包装机工作正常。
1) R语言方法:
方差 未知,显著性水平α=0.05
方差未知时μ的检验:t检验
salt<-c(490,506,508,502,498,511,510,515,512)
t.test(salt,mu=500)
One Sample t-test
data: salt
t = 2.2, df = 8, p-value = 0.06
alternative hypothesis: true mean is notequal to 500
95 percent confidence interval:
499.7 511.8
sample estimates:
mean of x
505.8
P值=0.06 > α=0.05,接受原假设,认为包装机正常
检查一批保险丝, 抽出10根测量其通过强电流熔化所需的时间(单位: 秒)为: 42, 65, 75, 78,59, 71, 57, 68, 54, 55. 假设熔化所需时间服从正态分布, 问能否认为熔化时间方差不超过80 (取α=0.05).
卡方检验:
source("chisqvartest.r")
time <-c(42,65,75,78,59,71,57,68,54,55)
chisq.var.test(time,80,0.05,alternative="less")
输出结果:
$var
[1] 121.8
$chi2
[1] 13.71
$p.value
[1] 0.8668
$conf.int
[1] 57.64 406.02
P值=0.8668 > α=0.05故接受原假设,认为熔断时间方差不过80
甲、乙两台机床分别加工某种轴承, 轴承的直径分别服从正态分布和, 从各自加工的轴承中分别抽取若干个轴承测其直径, 结果如下表所示. 设, 问两台机床的加工精度有无显著差异?(取α=0.05)
机床加工的轴的直径数据
总体 | 样本容量 直径 |
X(机床甲) | 8 20.5 19.8 19.7 20.4 20.1 20.0 19.0 19.9 |
均值的比较:t检验
输入:
x<-c(20.5, 19.8, 19.7, 20.4, 20.1, 20.0,19.0, 19.9)
y<-c(20.7, 19.8, 19.5, 20.8, 20.4, 19.6,20.2)
t.test(x, y, var.equal=TRUE)
结果:
Two Sample t-test data: x and yt = -0.85, df = 13, p-value = 0.4alternative hypothesis: true difference in means is not equal to 095 percent confidence interval: -0.7684 0.3327sample estimates:mean of x mean of y 19.93 20.14P值=0.4 > α=0.05,接受原假设,两台机床加工精度无明显区别
1. 方差分析
以淀粉为原料生产葡萄的过程中, 残留许多糖蜜, 可作为生产酱色的原料. 在生产酱色的过程之前应尽可能彻彻底底除杂, 以保证酱色质量.为此对除杂方法进行选择. 在实验中选用5种不同的除杂方法, 每种方法做4次试验, 即重复4次, 结果见下表:
不同除杂方法的除杂量
除杂方法Ai | 除杂量Xij 均量Xi |
A1 | 25.6 22.2 28.0 29.8 26.4 |
2) SPSS方差分析:
1)将数据输入到SPSS中,修改变量视图的名称和类型,X修改为数值类型,小数点保留一位;
2)点击分析>一般线性模型>单变量>将x导入因变量,A导入固定因子>确定
结果:
主体间效应的检验 | |||||
因变量:X | |||||
源 | III 型平方和 | df | 均方 | F | Sig. |
校正模型 | 131.957a | 4 | 32.989 | 4.306 | .016 |
截距 | 13707.848 | 1 | 13707.848 | 1789.303 | .000 |
A | 131.957 | 4 | 32.989 | 4.306 | .016 |
误差 | 114.915 | 15 | 7.661 | ||
总计 | 13954.720 | 20 | |||
校正的总计 | 246.872 | 19 |
a. R 方 = .535(调整 R 方 = .410)
结果分析: Sig=0.016 <0.05所以拒绝原假设,即五种除杂方法有显著差异。
1) R语言单因子方差分析:
输入代码:
X<-c(25.6, 22.2, 28.0, 29.8, 24.4, 30.0,29.0, 27.5, 25.0, 27.7,
23.0, 32.2, 28.8, 28.0, 31.5, 25.9, 20.6, 21.2, 22.0, 21.2)
A<-factor(rep(1:5, each=4))
miscellany<-data.frame(X, A)
aov.mis<-aov(X~A, data=miscellany)
summary(aov.mis)
结果:
Df Sum Sq Mean Sq F value Pr(>F) A 4 132 33.0 4.31 0.016 *Residuals 15 115 7.7 ---Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1上述结果中, Df表示自由度; sumSq表示平方和; Mean Sq表示均方和;Fvalue表示F检验统计量的值, 即F比; Pr(>F)表示检验的p值; A就是因素A;Residuals为残差.
F=4.31 >F0.05(5-1,20-5)=3.06,或者p=0.016 <0.05所以拒绝原假设,即五种除杂方法有显著差异。
由图可知,第五种方法有着明显的差异
五六章相关分析与回归
Q4:某医生测定了10名孕妇的15-17周及分娩时脐带血TSH(Mu/L)水平.
母血TSH(X) | 1.21 1.30 1.39 1.42 1.47 1.56 1.68 1.72 1.98 2.10 |
脐带血(Y) | 3.90 4.50 4.20 4.83 4.16 4.93 4.32 4.99 4.70 5.20 |
问X、Y是否是正相关关系?
1) SPSS相关分析:
步骤:
1,先测定是否符合正态分布
1)将数据输入到SPSS中,修改变量视图的名称和类型,X、Y修改为数值类型,小数点保留两位;
2)点击分析>非参数分析>旧对话框>单样本ks检验>将x导入检验变量列表中>选中检验分布中的常规>确定
结果输出与分析:
单样本 Kolmogorov-Smirnov 检验 | ||
X | ||
N | 10 | |
正态参数a,b | 均值 | 1.5830 |
标准差 | .28856 | |
最极端差别 | 绝对值 | .152 |
正 | .152 | |
负 | -.116 | |
Kolmogorov-Smirnov Z | .482 | |
渐近显著性(双侧) | .974 | |
a. 检验分布为正态分布。 b. 根据数据计算得到。
|
渐近显著性(双侧)=0.974>0.05,不能拒绝原假设,即X、Y符合正态分布。
2,由步骤一得出可进行Pearson相关分析
1)分析>相关>双变量>变量:x,y,选中Pearson>确定
结果:P值0.03<0.05所以,变量X、Y相关
相关性 | |||
x | y | ||
x | Pearson 相关性 | 1 | .681* |
显著性(双侧) | .030 | ||
N | 10 | 10 | |
y | Pearson 相关性 | .681* | 1 |
显著性(双侧) | .030 | ||
N | 10 | 10 | |
*. 在 0.05 水平(双侧)上显著相关。
|
1) R语言Pearson相关:
Pearson's product-moment correlation data: x and yt = 2.6, df = 8, p-value = 0.03alternative hypothesis: true correlation is not equal to 095 percent confidence interval: 0.08943 0.91723sample estimates: cor 0.6807P值0.03<0.05所以,变量X、Y相关
为了看出它们之间的关系,我们做一元线性回归:
huigui <-lm(y~x)
summary(huigui)
plot(x,y)
abline(huigui)
回归结果:
Call:lm(formula = y ~ x) Residuals: Min 1Q Median 3Q Max -0.3497 -0.2925 -0.0346 0.2626 0.4196 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 2.994 0.610 4.91 0.0012 **x 0.997 0.379 2.63 0.0303 * ---Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 0.328 on 8 degrees of freedomMultiple R-squared: 0.463, Adjusted R-squared: 0.396 F-statistic: 6.91 on 1 and 8 DF, p-value: 0.0303
回归方程:y=2.9904x+0.997
7) SPSS回归分析:
1,一元线性回归
Q5:某地一年中测得每个月份的平均气温(x)及平均地温(y),问x、y是否存在线性相关关系。
月份 | 气温(x) | 地温(y) |
1 | -4.7 | -3.6 |
2 | -2.3 | -1.4 |
3 | 4.4 | 5.1 |
4 | 13.2 | 14.5 |
5 | 20.2 | 22.3 |
6 | 24.2 | 26.9 |
7 | 26.0 | 28.2 |
8 | 24.6 | 26.5 |
9 | 19.5 | 21.1 |
10 | 12.5 | 13.4 |
11 | 4.0 | 4.6 |
12 | -2.8 | -1.9 |
步骤:1)将数据导入到SPSS中,更改变量视图。
2)点击分析>回归>线性>因变量:地温,自变量:气温
结果:
系数a | ||||||
模型 | 非标准化系数 | 标准系数 | t | Sig. | ||
B | 标准 误差 | 试用版 | ||||
1 | (常量) | -.786 | .163 | -4.813 | .001 | |
气温 | .952 | .009 | 1.000 | 101.192 | .000 | |
a. 因变量: 地温 分析:因为Sig=0.000<0.05.两者线性相关差异大。 |
2.多元线性回归
Q6:某地理要素Y的变化可能受到地理因素X1、X2、X3的综合影响,请根据样本观测数据,分析X与Y之间是否存在线性关系。
y | x1 | x2 | x3 |
5.78 | 3.9 | 1.2 | 40.76 |
4.38 | 5.2 | 2.5 | 42.48 |
2.27 | 4.8 | 4.5 | 55.13 |
3.65 | 8.2 | 1.1 | 44.67 |
3.12 | 8.4 | 2.6 | 42.44 |
1.9 | 8.9 | 3.6 | 50.61 |
3.42 | 6.7 | 1.2 | 49.32 |
1.53 | 7.9 | 1.5 | 65.03 |
1.03 | 9.8 | 1.3 | 63.94 |
0.09 | 7.8 | 3.2 | 72.63 |
步骤:1)将数据输入SPSS,更改变量视图。
2)点击分析>回归>线性>因变量:Y,自变量:x1,x2,x3>确定
结果:
系数a | ||||||
模型 | 非标准化系数 | 标准系数 | t | Sig. | ||
B | 标准 误差 | 试用版 | ||||
1 | (常量) | 11.683 | .290 | 40.295 | .000 | |
x1 | -.362 | .031 | -.415 | -11.562 | .000 | |
x2 | -.420 | .047 | -.298 | -9.009 | .000 | |
x3 | -.103 | .005 | -.677 | -18.749 | .000 | |
a. 因变量: y 所以:X与Y之间存在线性关系 |
1) R语言回归分析:
27名糖尿病人的血清总胆固醇(X1)、甘油三酯(X2)、空腹胰岛素(X3)、糖化血红蛋白(X4)、空腹血糖(Y )的测量值列于下表中, 试建立血糖与其它指标的多元线性回归方程, 并作进一步分析.
27名糖尿病人的指标
Y | X1 | X2 | X3 | X4 | |
1 | 11.2 | 5.68 | 1.9 | 4.53 | 8.2 |
2 | 8.8 | 3.79 | 1.64 | 7.32 | 6.9 |
3 | 12.3 | 6.02 | 3.56 | 6.95 | 10.8 |
4 | 11.6 | 4.85 | 1.07 | 5.88 | 8.3 |
5 | 13.4 | 4.6 | 2.32 | 4.05 | 7.5 |
6 | 18.3 | 6.05 | 0.64 | 1.42 | 13.6 |
7 | 11.1 | 4.9 | 8.5 | 12.6 | 8.5 |
8 | 12.1 | 7.08 | 3 | 6.75 | 11.5 |
9 | 9.6 | 3.85 | 2.11 | 16.28 | 7.9 |
10 | 8.4 | 4.65 | 0.63 | 6.59 | 7.1 |
11 | 9.3 | 4.59 | 1.97 | 3.61 | 8.7 |
12 | 10.6 | 4.29 | 1.97 | 6.61 | 7.8 |
13 | 8.4 | 7.97 | 1.93 | 7.57 | 9.9 |
14 | 9.6 | 6.19 | 1.18 | 1.42 | 6.9 |
15 | 10.9 | 6.13 | 2.06 | 10.35 | 10.5 |
16 | 10.1 | 5.71 | 1.78 | 8.53 | 8 |
17 | 14.8 | 6.4 | 2.4 | 4.53 | 10.3 |
18 | 9.1 | 6.06 | 3.67 | 12.79 | 7.1 |
19 | 10.8 | 5.09 | 1.03 | 2.53 | 8.9 |
20 | 10.2 | 6.13 | 1.71 | 5.28 | 9.9 |
21 | 13.6 | 5.78 | 3.36 | 2.96 | 8 |
22 | 14.9 | 5.43 | 1.13 | 4.31 | 11.3 |
23 | 16 | 6.5 | 6.21 | 3.47 | 12.3 |
24 | 13.2 | 7.98 | 7.92 | 3.37 | 9.8 |
25 | 20 | 11.54 | 10.89 | 1.2 | 10.5 |
26 | 13.3 | 5.84 | 0.92 | 8.61 | 6.4 |
27 | 10.4 | 3.84 | 1.2 | 6.45 | 9.6 |
多元回归计算:
y<-c(11.2, 8.8, 12.3, 11.6, 13.4, 18.3,11.1, 12.1,
9.6, 8.4, 9.3, 10.6, 8.4, 9.6, 10.9, 10.1,
14.8, 9.1, 10.8, 10.2, 13.6, 14.9, 16.0, 13.2,
20.0, 13.3, 10.4)
x1<-c(5.68, 3.79, 6.02, 4.85, 4.60,6.05, 4.90, 7.08,
3.85,4.65, 4.59, 4.29, 7.97, 6.19, 6.13, 5.71,
6.40,6.06, 5.09, 6.13, 5.78, 5.43, 6.50, 7.98,
11.54,5.84, 3.84)
x2<-c(1.90, 1.64, 3.56, 1.07, 2.32,0.64, 8.50, 3.00,
2.11, 0.63, 1.97, 1.97, 1.93, 1.18, 2.06, 1.78,
2.40, 3.67, 1.03, 1.71, 3.36, 1.13, 6.21, 7.92,
10.89, 0.92, 1.20)
x3<-c(4.53, 7.32, 6.95, 5.88, 4.05,1.42, 12.60, 6.75,
16.28, 6.59, 3.61, 6.61, 7.57, 1.42, 10.35, 8.53,
4.53,12.79, 2.53, 5.28, 2.96, 4.31, 3.47, 3.37,
1.20, 8.61, 6.45)
x4<-c(8.2, 6.9, 10.8, 8.3, 7.5, 13.6,8.5, 11.5,
7.9, 7.1, 8.7, 7.8, 9.9, 6.9, 10.5, 8.0,
10.3, 7.1, 8.9, 9.9, 8.0, 11.3, 12.3, 9.8,
10.5, 6.4, 9.6)
blood<-data.frame(y, x1, x2, x3, x4)
lm.reg<-lm(y~x1+x2+x3+x4,data=blood) #糖尿病人回归
summary(lm.reg)
计算结果:
Call:
lm(formula = y ~ x1 + x2 + x3 + x4, data =blood)
Residuals:
Min 1Q Median 3Q Max
-3.627 -1.200 -0.228 1.539 4.447
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 5.943 2.829 2.10 0.047 *
x1 0.142 0.366 0.39 0.701
x2 0.351 0.204 1.72 0.099 .
x3 -0.271 0.121 -2.23 0.036 *
x4 0.638 0.243 2.62 0.016 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’1
Residual standard error: 2.01 on 22degrees of freedom
Multiple R-squared: 0.601, AdjustedR-squared: 0.528
F-statistic: 8.28 on 4 and 22 DF, p-value: 0.000312
结论:
回归方程相关性系数显著性不高,X1与X2甚至未能通过显著性检验,多重共线性较严重,需要重新选择变量。
使用逐步回归法重新计算:
Call:
lm(formula = y ~ x2 + x3 + x4, data =blood)
Residuals:
Min 1Q Median 3Q Max
-3.2692 -1.2305 -0.2023 1.4886 4.6570
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 6.4996 2.3962 2.713 0.01242 *
x2 0.4023 0.1541 2.612 0.01559 *
x3 -0.2870 0.1117 -2.570 0.01712 *
x4 0.6632 0.2303 2.880 0.00845 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’1
Residual standard error: 1.972 on 23degrees of freedom
Multiple R-squared: 0.5981, AdjustedR-squared: 0.5456
F-statistic: 11.41 on 3 and 23 DF, p-value: 8.793e-05
回归系数显著性显著提高,所有检验均是显著的,由此得到“最优”回归方程:
Y=6.4996+0.4023X2-0.2870X3+0.6632X4