R语言自主练习题.docx

上传人:b****8 文档编号:9521604 上传时间:2023-02-05 格式:DOCX 页数:22 大小:258.53KB
下载 相关 举报
R语言自主练习题.docx_第1页
第1页 / 共22页
R语言自主练习题.docx_第2页
第2页 / 共22页
R语言自主练习题.docx_第3页
第3页 / 共22页
R语言自主练习题.docx_第4页
第4页 / 共22页
R语言自主练习题.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

R语言自主练习题.docx

《R语言自主练习题.docx》由会员分享,可在线阅读,更多相关《R语言自主练习题.docx(22页珍藏版)》请在冰豆网上搜索。

R语言自主练习题.docx

R语言自主练习题

1,某工厂生产一批滚珠,其直径服从正态分布N(μ,σ2),现从某天的产品中随机抽出六件,测得直径为:

15.1,14.8,15.2,14.9,14.6,15.1,。

若σ2=0.06,求μ的置信区间。

(置信度为0.95)

解:

x<-c(15.1,14.8,15.2,14.9,14.6,15.1)

sigema<-sqrt(0.06)

alpha<-0.05

xbar<-mean(x)

n<-length(x)

t1<-xbar-qnorm(1-alpha/2)*sigema/sqrt(n)

t2<-xbar+qnorm(1-alpha/2)*sigema/sqrt(n)

list(t1,t2),

2,某某自动包装机包装洗衣粉,其重量ζ~N(μ,σ2),其中μ,σ未知。

今随机抽取十二袋测得其重量,经计算得样本均值为xbar=1000.25,修正样本标准差s*=2.6329,试求总体标准差σ的置信水平为0.95的置信区间。

解:

alpha<-0.05

Xbar<-1000.25

Sdx<-2.6329

T1<-sqrt(11)*Sdx/sqrt(qchisq(1-alpha/2,11))

T2<-sqrt(11)*Sdx/sqrt(qchisq(alpha/2,11))

list(T1,T2)

使用t.text函数进行方差未知的均值假设检验

t检验t.test():

调用格式:

(数统P138,例6-3)

x<-c(11.6,11.5,11.3,11.2,11.4,11.7,11.5,11.6,11.4,11.3)

α<-0.05

solution<-t.test(x,mu=11.4,alternative="two.sided",conf.level=1-α)

#x是一个服从正态分布的总体,mu是均值μ

#alternative是指备择假设,“two.sided”(缺省)指双侧(H1:

μ≠μ0),less表示单边检验(H1:

μ<μ1),greater表示单边检验(H1:

μ>μ1)

#conf.level指置信度即1-α

solution

if(solution$p.value>α){

print("接受H0")

}else{

print("拒绝H0,接受H1")

}

#如果p-value>α,则可以认为接受H0,否则拒绝H0,接受H1

例题:

水泥厂用自动包装机包装水泥,每袋额定重量是50kg,某日开工后随机抽查了9袋,称得重量如下:

49.6,49.3,50.1,50.0,49.2,49.9,49.8,51.0,50.2设每袋重量服从正态分布,问包装机工作是否正常(α=0.05)?

x<-c(49.6,49.3,50.1,50.0,49.2,49.9,49.8,51.0,50.2)

α<-0.05

solution<-t.test(x,mu=50,alternative="two.sided",conf.level=1-α)

solution

if(solution$p.value>α){

print("接受H0")

}else{

print("拒绝H0,接受H1")

}

p-value>α,接受H0

认为包装机工作正常。

例题:

一公司称某种类型的电池平均寿命是21.5小时,有一个实验检测了该公司所制造的6套电池,得如下的寿命小时数:

19,18,22,20,16,25

这些结果是否表明这种类型的电池与该公司宣称的寿命不同?

(α=0.05)

x<-c(19,18,22,20,16,25)

α<-0.05

solution<-t.test(x,mu=21.5,alternative="two.sided",conf.level=1-α)

solution

if(solution$p.value>α){

print("接受H0")

}else{

print("拒绝H0,接受H1")

}

p-value>α,接受H0

认为这种类型的电池与该公司宣称的寿命相同

例题:

据长期的经验和资料分析,某砖瓦厂所生产的砖的“抗断强度”X服从正态分布,方差σ^2=1.21,今从该厂所生产的一批砖中,随便抽取6块,测得抗断度如下:

32.56,29.66,31,64,30.00,31.87,31.03

现在问:

这一批砖的平均抗断强度可否认为是32.50?

install.packages("BSDA")

library("BSDA")

x<-c(32.56,29.66,31.64,30.00,31.87,31.03)

α<-0.05

solution<-z.test(x,alternative="two.sided",sigma.x=0.11conf.level=1-α)

solution

if(solution$p.value>α){

print("接受H0")

}else{

print("拒绝H0,接受H1")

}

例2:

片剂车间生产的一种药片,片重服从N(μ,0.0004),今抽取8片,测得每片的重量如下:

0.59,0.57,0.63,0.62,0.60,0.58,0.64,0.62。

问:

如果药片的标准重为0.5,那么这批药片是否合格?

(α=0.05)

install.packages("BSDA")

library("BSDA")

x<-c(0.59,0.57,0.63,0.62,0.60,0.58,0.64,0.62)

α<-0.05

solution<-z.test(x,alternative="two.sided",sigma.x=0.02,conf.level=1-α)

solution

if(solution$p.value>α){

print("接受H0")

}else{

print("拒绝H0,接受H1")

}

一、练习题(题目、数据、代码、结果及解释)

1.使用t.text函数完成下面的例题(P144例6-10)

用10只家兔试验某批注射液对体温的影响,测定每只兔子注射前后的体温,如下注射前:

(37.8,38.2,38.0,37.6,37.9,38.1,38.2,37.5,38.5,37.9)

注射后:

(37.9,39.0,38.9,38.4,37.9,39.0,39.5,38.6,38.8,39.0)

已知家兔体温服从正态分布,问注射前后体温有无显著差异?

(α=0.01)(配对)

2.使用t.text函数完成下面的例题

有甲、乙两台机床加工相同的产品,假定两台机床加工的产品均服从正态分布,且总体方差相等,从这两台机床加工的产品中随机地抽取若干件,测得产品直径(mm)为甲:

(20.5,19.8,19.7,20.4,20.1,20.0,19.0,19.9);乙:

(19.7,20.8,20.5,19.8,19.4,20.6,19.2)试比较甲乙两台机床加工的产品直径有无显著应差异?

.(α=0.05)

1.答案代码

x<-c(37.8,38.2,38.0,37.6,37.9,38.1,38.2,37.5,38.5,37.9)

y<-c(37.9,39.0,38.9,38.4,37.9,39.0,39.5,38.6,38.8,39.0)

α<-0.01

solution<-t.test(x,y,mu=0,alternative="two.sided",paired=TRUE,var.equal=FALSE,conf.level=1-α)

if(solution$p.value>α){

print("接受H0")

}else{

print("拒绝H0,接受H1")

}

输出结果:

拒绝H0,接受H1(即:

注射前后体温差异显著)

2答案代码

x<-c(20.5,19.8,19.7,20.4,20.1,20.0,19.0,19.9)

y<-c(19.7,20.8,20.5,19.8,19.4,20.6,19.2)

α<-0.05

solution<-t.test(x,y,mu=0,alternative="two.sided",paired=FALSE,var.equal=FALSE,conf.level=1-α)

if(solution$p.value>α){

print("接受H0")

}else{

print("拒绝H0,接受H1")

}

输入结果:

接受H0(即:

甲乙两台机床加工的产品直径无显著性差异)”

1:

根据经验,在人的身高相等的情况下,血压的收缩Y与体重X1(千克)和年龄X2(岁数)有关,现收集了13个男子的数据,试建立Y关于X1、X2的线性回归方程。

第一步、录入数据,建立多元线性数据模型

X1<-c(76.0,91.5,85.5,82.5,79.0,80.5,74.5,79.0,85.0,76.5,82.0,95.0,92.5)

X2<-c(50,20,20,30,30,50,60,50,40,55,40,40,20)

Y<-c(120,141,124,126,117,125,123,125,132,123,132,155,147)

blood<-data.frame(X1,X2,Y)

lm.sol<-lm(Y~1+X1+X2,data=blood)

summary(lm.sol)

得出Call:

lm(formula=Y~X1+X2,data=blood)

Residuals:

Min1QMedian3QMax

-4.0404-1.01830.46400.69084.3274

Coefficients:

EstimateStd.ErrortvaluePr(>|t|)

(Intercept)-62.9633616.99976-3.7040.004083**

X12.136560.1753412.1852.53e-07***

X20.400220.083214.8100.000713***

---

Signif.codes:

0‘***’0.001‘**’0.01‘*’0.05‘.’0.1‘’1

Residualstandarderror:

2.854on10degreesoffreedom

MultipleR-squared:

0.9461,AdjustedR-squared:

0.9354

F-statistic:

87.84on2and10DF,p-value:

4.531e-07

在我们的输入中,关键是lm.sol<-lm(Y~X1+X2+1,data=blood)的调用,这里可以看到,lm使用了参数Y~1+X1+X2,,即表示我们使用的是模型y=d+cx2+bx+e

从计算结果可以得到,回归系数与回归方程检验都是显著的,因此,回归方程为:

Y=-62.96+2.13X1+0.40X2

2:

一元线性回归:

x<-c(0.10,0.11,0.12,0.13,0.14,0.15,0.16,0.17,0.18,0.20,0.21,0.23)

y<-c(42.0,43.5,45.0,45.5,45.0,47.5,49.0,53.0,50.0,55.0,55.0,60.0)

lm.sol<-lm(y~1+x)

lm()函数返回拟合结果的对象,可以用summary()函数查看其内容。

summary(lm.sol)

Residuals:

 Min     1Q  Median   3Q    Max

-2.0431 -0.7056 0.1694 0.6633 2.2653

Coefficients:

           EstimateStd.Error     tvalue  Pr(>|t|)   

(Intercept)  28.493     1.580  18.04   5.88e-09***

x           130.835     9.683  13.519.50e-08***

y=-28.49+130.84x

1、删除异常点,重新拟定模型,数据如下(提示:

residuals()函数绘图观察)

x<-c(194.5,194.3,197.9,198.4,199.4,199.9,200.9,201.1,

201.4,201.3,203.6,204.6,209.5,208.6,210.7,211.9,212.2)

y<-c(131.79,131.79,135.02,135.55,136.46,136.83,137.82,138.00,

138.06,138.05,140.04,142.44,145.47,144.34,146.30,147.54,147.80)

答案

x<-c(194.5,194.3,197.9,198.4,199.4,199.9,200.9,201.1,

201.4,201.3,203.6,204.6,209.5,208.6,210.7,211.9,212.2)

y<-c(131.79,131.79,135.02,135.55,136.46,136.83,137.82,138.00,

138.06,138.05,140.04,142.44,145.47,144.34,146.30,147.54,147.80)

plot(x,y)#查看x和y之间的关系

lm.sol=lm(x~y)#拟合模型

summary(lm.sol)

lm.res<-residuals(lm.sol)#残差

plot(lm.res)#奇异点,可以看到第12位有明显问题

lm.up<-lm(x~y,subset=-12)

summary(lm.up)

一、玫瑰图的绘制,主要是先绘制一个直方图,接着将()坐标转化为()坐标

答案:

直角、极

2、以下哪列代码是将直方图转化为玫瑰图的关键()

A、theme(axis.text.y=element_blank())

B、coord_polar()+theme_bw()

C、theme(axis.ticks=element_blank())

D、theme(panel.border=element_blank())

答案:

B

前言

R语言定义:

R是用于统计分析、绘图的语言和操作环境。

R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。

今天由我们组为大家讲解一下R语言的绘图方面。

发展历史:

R是统计领域广泛使用的诞生于1980年左右的S语言的一个分支。

可以认为R是S语言的一种实现。

而S语言是由AT&T贝尔实验室开发的一种用来进行数据探索、统计分析和作图的解释型语言。

最初S语言的实现版本主要是S-PLUS。

S-PLUS是一个商业软件,它基于S语言,并由MathSoft公司的统计科学部进一步完善。

后来Auckland大学的RobertGentleman和RossIhaka及其他志愿人员开发了一个R系统。

由"R开发核心团队"负责开发。

R是基于S语言的一个GNU项目,所以也可以当作S语言的一种实现,通常用S语言编写的代码都可以不作修改的在R环境下运行。

R的语法是来自Scheme。

R的使用与S-PLUS有很多类似之处,这两种语言有一定的兼容性。

S-PLUS的使用手册,只要稍加修改就可作为R的使用手册。

所以有人说:

R,是S-PLUS的一个"克隆"。

但是请不要忘了:

R是免费的。

(Risfree)R语言源代码托管在github,具体地址可以看参考资料。

R语言的下载可以通过cran的镜像来查找,具体地址可以看参考资料。

R语言有域名为.cn的下载地址,其中一个由Datagurn,另一个由中国科学技术大学提供的。

R语言Windows版,其中由两个下载地点是Datagurn和USTC提供的。

具体地址可以看参考资料。

目录

①崔迎---------------------------------------颜色

②成金---------------------------------------坐标轴

于志藩------------------------------------图例

③周义---------------------------------------玫瑰图

郑湘丽------------------------------------三维图

1R语言:

颜色

绘图是R语言的主要功能之一,而颜色是传递信息的重要图形要素。

将从区别使用条件函数定义颜色调法例题来向大家说明

1、R预设调色板

这一系列函数有5个,即:

rainbow

heat.colors

terrain.colors

topo.colors

cm.colors

定义rainbow(n,s=1,v=1,start=0,end=max(1,n-1)/n,alpha=1)

heat.colors(n,alpha=1)

terrain.colors(n,alpha=1)

topo.colors(n,alpha=1)

cm.colors(n,alpha=1)

使用条件

n

thenumberofcolors(≥1)tobeinthepalette.颜色数量

s,v

the‘saturation’and‘value’tobeusedtocompletetheHSVcolordescriptions.描述颜色的变量,在所有的情况下,H(Hue)代表色相,S(Saturation)代表饱和度。

v明度

start

the(corrected)huein[0,1]atwhichtherainbowbegins.

end

the(corrected)huein[0,1]atwhichtherainbowends.

alpha

thealphatransparency,anumberin[0,1],seeargumentalphainhsv.透明度

数值均在0或1

在R环境里面输入问号(?

)和上面任一函数名就可以获得这5个函数的用法说明。

这些函数最少需要一个参数,n,表示要得到颜色的数量。

n在系统允许范围内没有限制。

下面用彩虹色调色板函数rainbow产生的颜色绘一个色盘:

setwd("D:

/");n=1000

png("rainbow.disc.png",bg="transparent")

par(mar=c(0,0,0,0))

pie(rep(1,times=n),labels="",col=rainbow(n),border=rainbow(n))

dev.off()

运行后回在D盘根目录下得到一个rainbow.disc.png文件,图形如下:

之后再这个文件下进行的。

改变n值,改变颜色的个数

例题给出函数barplot(rep(1,times=n),col=,border=,axes=FALSE,main=);box()

rainbow

heat.colors

terrain.colors地带

topo.colors

cm.colors

毕竟颜色一般应用在画图。

来得到下图

n<-10

barplot(柱形图)(rep(菱纹分布)(1,times=n),col=rainbow(n),border(边界)=rainbow(n),axes(轴线)=FALSE,main(要点)="Rainbowcolors");box()框的意思

barplot(rep(1,times=n),col=rainbow(n),border=rainbow(n),axes=FALSE,main="Rainbowcolors");box()

barplot(rep(1,times=n),col=heat.colors(n),border=heat.colors(n),axes=FALSE,main="heat.colors");box()

barplot(rep(1,times=n),col=terrain.colors(n),border=terrain.colors(n),axes=FALSE,main="terrain.colors");box()

barplot(rep(1,times=n),col=topo.colors(n),border=topo.colors(n),axes=FALSE,main="topo.colors");box()

barplot(rep(1,times=n),col=cm.colors(n),border=cm.colors(n),axes=FALSE,main="cm.colors");box()

 

 

"Whatever","is","worth","doing","is","worth","doing","well"

1)将各元素第一个"t"或"r"替换为"k"

2)将所有"t"或"r"替换为"k"

1)>sub("[tr]","k",c("Whatever","is","worth","doing","is","worth","doing","well"))#将各元素第一个"t"或"r"替换为"k"

[1]"Whakever""is""wokth""doing""is""wokth""doing""well"

2)>gsub("[tr]","k",c("Whatever","is","worth","doing","is","worth","doing","well"))#将所有"t"或"r"替换为"k"

[1]"Whakevek""is""wokkh""doing""is""wokkh""doing""well"

1.将A到F的小写形式、大写形式、和字母表中的顺序(1~6),用-依次连接在一起。

x<-c("a","b","c","d","e","f")

y<-c("A","B","C","D","E","F")

z=1:

6

paste(x,y,z,sep="-")

[1]"a-A-1""b-B-2""c-C-3""d-D-4""e-E-5""f-F-6"

一、提取出0123456789中所有包含相连三位数的子字符串

代码

substring(0123456789,1:

8,3:

9)

结果

[1]"123""234""345""456""567""678""789"""

二、依次提取所有小于1500的四位数中,偶数的百、十、个位数,奇数的十、个位数字

代码

x=1000:

1499

substring(x,2:

3,4)

结果

[1]"000""01""002""03""004""05""006""07""008""09""010""11""012""13""014""15""016""17""018"

[20]"19""020""21"

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1