本文主要是介绍R语言实验汇总----助力高绩点,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
多元统计分析及R语言建模(第四版)
实验一:
实验1:用R语言求矩阵的逆矩阵、特征根和特征向量 P37 练习题 二-1
r=c(1.00,0.80,0.26,0.67,0.34,0.80,1.00,0.33,0.59,0.34,0.26,0.33,1.00,0.37,0.21,0.67,0.59,0.37,1.00,0.35,0.34,0.34,0.21,0.35,1.00)
r
R=matrix(r,nrow=5,ncol=5)
R
nR=solve(R)
nR
R.e=eigen(R,symmetric = T)
R.e
实验2:对给定的数据计算频数、频率和累积频率、并绘制直方图 P37 练习题 二-3
a=read.table("clipboard",header = T)
a
b=t(a)
hist(b)
hist(b,breaks = seq(0,3000,by=300),col = 1:7,freq = T)#频数
hist(b,breaks = seq(0,3000,by=300),col = 1:7,freq = F)#频率
b=cumsum(b)
hist(b,breaks = seq(0,96000,by=3000),col = 1:20,freq = T)#累积频率
实验3:编制进行计量数据频数表分析的R语言函数 P38 练习题 二-4
table(a)
pingshu<-function(s){
table(s)
}
pingshu(b)
pingshu(a)
实验二:
实验1:使用本章所讲的多元图示方法对 P55 练习题 二-2的数据进行直观分析
x=read.table("clipboard",header = T)
x
barplot(apply(x,1,mean),las=2)
barplot(apply(x, 2,mean),las=2)
barplot(apply(x, 2, median),las=2)
barplot(apply(x, 1, median),las=2)
pie(apply(x, 2, mean))
boxplot(x,las=2)
boxplot(t(x),las=2)
stars(x,full = T,draw.segments =T,key.loc = c(13,1.5))
library(aplpack)
faces(x,ncol.plot = 5)
faces(t(x),ncol.plot = 2)
library(mvstats)
plot.andrews(x)
plot.andrews(t(x))
实验2:用R语言绘制雷达图和星相图 P55 练习题 二-1,要求有分析结果
*数据任意
library(fmsb)
radarchart(x[,1:4],axistype=0,seg=4,maxmin=FALSE,vlabels=names(x[,1:4]),pcol=1:7,plwd=2.0)
实验三:
实验1:对给定的保险公司加班和签单数据进行分析。
P85 练习题二-1
x=c(825,215,1070,550,480,920,1350,325,670,1215)
y=c(3.5,1,4,2,1,3,4.5,1.5,3,5)
#自定义求离均差乘积和的函数
lxy<-function(x,y){n=length(x);sum(x*y)-sum(x)*sum(y)/n}
b=lxy(x,y)/lxy(x,x)#直线斜率
a=mean(y)-b*mean(x)#截距
plot(x,y)#散点图
lines(x,a+b*x)#画直线
cor(x,y)#相关系数计算
cor.test(x,y)#相关系数检验
z=data.frame(x,y)#获得数据框
fm=lm(y~x,data=z)#最小二乘法处理
fm
SST=lxy(y,y)#因变量的离均差平方和
SSR=b*lxy(x,y)#回归平方和
SSE=SST-SSR#随机误差的方差
SSE
R2=summary(fm)$r.sq#求x和y的决定系数
R2
anova(fm)#方差分析
plot(y~x,data=z)#残差图
abline(fm)#添加回归线
实验2:对给定的广告公司的年销售额、广告预算、销售代理数目数据E3.2进行分析。
P86 练习题二-2
x1=c(249,183,310,246,288,248,256,241)
x2=c(15,14,21,18,13,21,20,19)
y1=c(32,18,49,52,36,43,24,41)
z1=data.frame(y1,x1,x2)
fm1=lm(y1~x1+x2,data = z1)
fm1
summary(fm1)#多元回归系数t检验
R3=summary(fm1)$r.sq#多元回归模型的决定系数
R=sqrt(R3)#多元数据复相关系数
R
cor(y1,x1)
cor(y1,x2)
cor(x1,x2)
实验3:对给定的毕业生的起始工资、平均成绩和毕业年龄的数据进行分析,说明他们之间是否有关系。
P86 练习题二-3
x3=c(2.95,3.40,3.20,3.10,3.05,2.75,3.15,2.75)
x4=c(22,23,27,25,23,28,26,26)
y2=c(25500,28100,28200,25000,22700,22500,26000,23800)
z2=data.frame(y2,x3,x4)#获得数据框
fm2=lm(y2~x3+x4,data = z2)
fm2
summary(fm2)#多元回归系数t检验
实验4:研究货运总量与工业总产值、农业总产值和居民非商品支出的关系。
P86 练习题二-4
z3=read.table("clipboard",header = T)
cor(z3)
plot(z3)
fm3=lm(y~x1+x2+x3,data = z3)
fm3
chisq.test(z3)#卡方检验
anova(fm3)#回归方程的检验
summary(fm3)#回归系数的t检验
z4=read.table("clipboard",header = T)
fm4=lm(y~x2,data = z4)
fm4
anova(fm4)#回归方程的检验
summary(fm4)#回归系数的t检验
library(leaps)#加载包
varsel=regsubsets(y~x1+x2+x3,data = z3)#变量选择模型
result=summary(varsel)#变量选择方法结果
result
#RSS和决定系数展示
data.frame(result$outmat,RSS=result$rss,R2=result$rsq)
z5=read.table("clipboard",header = T)
fm5=lm(y~x1+x2,data = z5)
fm5
实验四:
实验1:用学过的广义或一般线性模型对给定的工厂零件数据进行分析, 判断三个工厂生产零件的平均强度是否相同 P104 练习题二-1
x=c(103,101,98,110)#甲
y=c(113,107,108,116,115,109)#乙
z=c(82,92,84,86,88)#丙
s=c(103,101,98,110,113,107,108,116,115,109,82,92,84,86,88)
v=c(1,1,1,1,2,2,2,2,2,2,3,3,3,3,3)
d=data.frame(s,v)
anova(lm(s~factor(v),data=d))#完全随机设计模型方差分析
mean(x)#甲的平均强度
mean(y)#乙的平均强度
mean(z)#丙的平均强度
实验2:对给定的某化工产品配方和生产率的数据进行分析,说明不同配方和不同日期对生产率有无影响 P104 练习题二-2
Y=c(64.9,69.1,76.1,82.9,62.6,70.1,74.0,80.0,61.1,66.8,71.3,76.0,59.2,63.6,67.2,72.3)
A=c(1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4)
B=c(1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4)
d=data.frame(Y,A,B)#实验二中整合的数据
anova(lm(Y~factor(A)+factor(B),data=d))#随机单位组设计模型方差分析
实验3:对三种品牌洗衣机的问卷调查数据进行直观分析、卡方检验,建立对数线性模型,并对结果进行分析 P104 练习题二-3
D=c(43,51,67,45,39,54,51,35,32,66,32,30)
X=c(1,2,3,1,2,3,1,2,3,1,2,3)
Y=c(1,1,1,1,1,1,2,2,2,2,2,2)
Z=c(1,1,1,2,2,2,1,1,1,2,2,2)
d=data.frame(D,X,Y,Z)
chisq.test(d)#卡方检验
log.glm<-glm(D~X+Y+Z,family = poisson(link = log),data = d)#多元对数线性回归模型
summary(log.glm)#多元对数回归模型的结果
实验4:对给定的银行贷款数据E5.4建立Logistic回归模型,根据建立模型判断是否给某一客户提供贷款 P105 练习题二-4
x1=c(40,35,15,29,1,-2,22,10,125,100,350,54,4,2,-10,131)
x2=c(1,1,-1,2,2,1,0,1,-2,-2,-1,-1,-1,0,-1,-2)
G=c(1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0)
d=data.frame(G,x1,x2)
logit.glm<-glm(G~x1+x2,family = binomial,data = d)#Logistic回归模型
summary(logit.glm)#Logistic回归模型结果
logit.step<-step(logit.glm,direction = "both")#变量选择
summary(logit.step)#选择结果
实验五:
实验1:用Fisher判别法和Bayes判别法对冠心病患者和健康人的舒张期血压和胆固醇含量数据E6.3进行分类分析,并绘制判别函数图,判断哪种判别方法更适合该数据的分类分析。 P129 练习题二-3
a=read.table("clipboard",header = T)
b=read.table("clipboard",header = T)
attach(a)
plot(X1A,X2A)#A组散点图
detach(a)
attach(b)
plot(X1B,X2B)#B组散点图
detach(b)
a=read.table("clipboard",header = T)
b=read.table("clipboard",header = T)
c=rbind(a,b)
attach(c)
plot(X1,X2)
text(X1,X2,组别,adj=-0.5)
library(MASS)
(ld=lda(组别~X1+X2))#Fisher判别
Z=predict(ld)#根据模型预测所属的类别
newG=Z$class#预测所属类别的结果
cbind(组别,Z$x,newG)#显示结果
tab=table(组别,newG)
sum(diag(prop.table(tab)))#符合率
detach(c)
(ld1=lda(组别~X1+X2,prior=c(1,1)/2))#Bayes判别
Z1=predict(ld1)#根据模型预测所属的类别
cbind(组别,Z1$x,newG=Z1$class)#显示结果
fm=lm(X1~X2,data=c)
abline(fm)
实验2:对财务困境的上市公司和非困境的上市公司的财务数据E6.4进行分析,建立线性判别、非线性判别和Bayes判别分析模型,计算各自的判别率,选出最合适的判别模型,预测给定的数据是否会陷入财务困境。 P130 练习题二-4
e=read.table("clipboard",header = T)
attach(e)
(ld=lda(G~x1+x2+x3+x4))#线性判别
Z=predict(ld)#根据模型预测所属的类别
newG=Z$class#预测所属类别的结果
cbind(G,Z$x,newG)#显示结果
tab=table(G,newG)
sum(diag(prop.table(tab)))#符合率
qd=qda(G~x1+x2+x3+x4);qd#非线性判别
predict(qd)
(ld1=lda(G~x1+x2+x3+x4,prior=c(1,1)/2))#Bayes
predict(qd,data.frame(x1=78.3563,x2=0.8895,x3=1.8001,x4=14.1022))
detach(e)
实验3:对三种鸢尾花的数据E6.5用Fisher判别方法进行分类,并计算出模型的判别准确率 P131 练习题二-5
f=read.table("clipboard",header = T)
attach(f)
(ld=lda(i~x1+x2+x3+x4))#Fisher
Z=predict(ld)
newG=Z$class
cbind(i,Z$x,newG)
(tab=table(i,newG))
sum(diag(prop.table(tab)))
实验六:
实验1:应用层次聚类的方法对我国31个区域16个经济经济指标数据case6进行聚类,并对聚类的结果进行分析,要求画出聚类分析图
a=read.table("clipboard",header = T)
plot(a)
library(cluster)
dv=diana(a,metric = "eulidean")#层次聚类
plot(dv)#聚类图
实验2:比较我国31个省市自治区2013年和2007年城镇居民生活消费的分布规律,根据调查资料做区域消费类型划分,并对2013年的数据和2007年的数据进行对比分析。
要求使用k-means算法、层次聚类算法、系统聚类方法进行分析。P155 二练习题2
b07=read.table("clipboard",header = T)
c13=read.table("clipboard",header = T)
#2007年
dv=diana(b07,metric = "eulidean")#层次聚类
plot(dv)#聚类图
library(mvstats)
H.clust(b07,"euclidean","ward.D",plot = T)#系统聚类
c=kmeans(b07,2)#k-means聚类
pch1=rep("1",10)
pch2=rep("2",10)
plot(b07,col=c$cluster,pch=c(pch1,pch2),cex=0.8)
#2013年
dv=diana(c13,metric = "eulidean")#层次聚类
plot(dv)#聚类图
library(mvstats)
H.clust(c13,"euclidean","ward.D",plot = T)#系统聚类
c=kmeans(c13,2)#k-means聚类
pch1=rep("1",10)
pch2=rep("2",10)
plot(c13,col=c$cluster,pch=c(pch1,pch2),cex=0.8)
实验3:下面给出5个元素两两之间的距离,使用最短距离法对其进行聚类分析,画出聚类图,并按照两类、三类进行分类
x=c(0,4,6,1,6,4,0,9,7,3,6,9,0,10,5,1,7,10,0,8,6,3,5,8,0)
d=matrix(x,nrow=5,ncol=5)#创建题目要求的矩阵
d
hc=hclust(dist(d),"single")#用最短距离聚类分析
plot(hc)
rect.hclust(hc,2);cutree(hc,2)#分2类
plot(hc)
rect.hclust(hc,3);cutree(hc,3)#分2类
实验七:
实验1:对给定的1660人的按心理健康状况和社会经济状况进行交叉分组的数据E10.2做对应分析,解释对应分析的结果,把数据间的联系用数据可视化的方法表示出来。
P215 二练习题2
x=read.table("clipboard",header = T)
x
chisq.test(x)#卡方检验
library(MASS)
cal=corresp(x,nf=2)#对应分析
cal#对应分析结果
biplot(cal)#双坐标轴图
实验2:用对应分析的方法,对按人均收入等级划分的农村居民家庭基本情况的数据E10.3进行分析,分析不同文化程度和不同的收入来源对广东省农民收入水平的影响密切程度。
P216 二练习题3
#不同文化程度
x=read.table("clipboard",header = T)
x
chisq.test(x)#卡方检验
cal1=corresp(x,nf=2)#对应分析
cal1#对应分析结果
biplot(cal1)#双坐标图
#不同收入来源
x=read.table("clipboard",header = T)
x
chisq.test(x)#卡方检验
cal2=corresp(x,nf=2)#对应分析
cal2#对应分析结果
biplot(cal2)#双坐标图
实验八:
要求包括以下的分析结果
1. 典型变量相关系数 2. 典型相关系数的检验结果
3. 典型变量的线性方程 4. 典型相关图
实验1:对我国工农产业系统做典型相关分析
工业部有5个结构比重指标和农业部有4个产值指标,对数据E.11.3做典 型分析
P232 二练习题3
x=read.table("clipboard",header = T)
library(mvstats)
cancor.test(x[,1:5],x[,6:9],plot = T)#典型相关分析及检验作图
实验2:对各类投资资金与三大产业做典型相关分析
衡量投资资金变化有5个指标,反应各产业生产总值的指标有3个,对数据 E.11.4做典型分析
P233 二练习题4
y=read.table("clipboard",header = T)
cancor.test(y[,1:5],y[,6:8],plot = T)#典型相关分析及检验作图
这篇关于R语言实验汇总----助力高绩点的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!