R语言习题Word文档格式.docx

上传人:b****6 文档编号:20706870 上传时间:2023-01-25 格式:DOCX 页数:16 大小:244KB
下载 相关 举报
R语言习题Word文档格式.docx_第1页
第1页 / 共16页
R语言习题Word文档格式.docx_第2页
第2页 / 共16页
R语言习题Word文档格式.docx_第3页
第3页 / 共16页
R语言习题Word文档格式.docx_第4页
第4页 / 共16页
R语言习题Word文档格式.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

R语言习题Word文档格式.docx

《R语言习题Word文档格式.docx》由会员分享,可在线阅读,更多相关《R语言习题Word文档格式.docx(16页珍藏版)》请在冰豆网上搜索。

R语言习题Word文档格式.docx

〉library(xlsx)

〉workbook<

-”D:

/R/StuScore。

xlsx"

〉StuScore〈—read。

xlsx(workbook,1)

〉StuScore

2:

数据预处理——将变量进行标准化

〉options(digits=2)#限定为2位小数

〉afterscale<

—scale(StuScore[,3:

5])

afterscale

MathScienceEnglish

[1,]-0.581。

0400。

20

[2,]—1。

02—0.815—1.17

[3,]0.82—0。

086-0.12

[4,]0。

28-0.881-0。

54

[5,]-1。

151.106—0。

86

[6,]0。

980.6430.73

[7,]0。

29—0.0861.47

[8,]—1。

54—1.544—1.17

[9,]0。

56—0。

749-0。

[10,]1。

351。

3721。

57

attr(,"

scaled:

center"

MathScienceEnglish

5517923

attr(,”scaled:

scale"

84。

715.19。

3:

通过函数mean()来计算各行的均值以及获得综合得分,并使用cbind()将其添加到花名册中

#3在afterscale中计算标准差均值,并将其添加到StuScore

score<

-apply(afterscale,1,mean)#1表示行,mean表示均值函数

StuScore〈—cbind(StuScore,score)

StuScore

StuIdStuNameMathScienceEnglishscore

11JohnDavis50295250.22

22AngelaWilliams4656712-1。

00

33BullJones62178220。

21

44CherylCushing5756618—0。

55ReuvenYtzrhak4549615—0。

66JoelKnox63489300。

77MaryRayburn57678370.56

88GregEngland4215612-1.42

99BradTmac5996822—0。

1010TracyMcgrady666100381.43

4:

函数quantile()给出学生综合得分的百分位数

quantile(x,probs):

求分位数,其中x为待求分位数的数值型向量,probs为一个由[0,1]之间的概率值组成的数值向量

>

afterquantile〈-quantile(score,c(.8,。

6,。

4,.2))

afterquantile

80%60%40%20%

0。

600。

21—0.18-0。

50

5:

使用逻辑运算符,把score转为等级(离散型)

StuScore$grade[score〉=afterquantile[1]]〈—"

A”

〉StuScore$grade[score<

afterquantile[1]&&score>

=afterquantile[2]]<

—”B”

〉StuScore$grade[score〈afterquantile[2]&

&score>

=afterquantile[3]]〈—"

C”

〉StuScore$grade[score〈afterquantile[3]&&score〉=afterquantile[4]]<

-”D”

〉StuScore$grade[score〈afterquantile[4]]〈-”E”

〉StuScore

StuIdStuNameMathScienceEnglishscoregrade

11JohnDavis50295250.22B

22AngelaWilliams4656712—1.00E

33BullJones62178220.21B

44CherylCushing5756618-0.38E

55ReuvenYtzrhak4549615-0.30E

78B

77MaryRayburn57678370。

56B

88GregEngland4215612—1.42E

99BradTmac5996822-0。

10E

1010TracyMcgrady666100381.43B

6:

使用strsplit()以空格为界把学生姓名拆分为姓氏和名字

〉StuScore$StuName〈—as。

character(StuScore$StuName)

is。

character(StuScore$StuName)

[1]TRUE

name〈-strsplit(StuScore$StuName,”"

〉name

[[1]]

[1]”John"

”Davis”

[[2]]

[1]”Angela””Williams”

[[3]]

[1]"

Bull””Jones”

[[4]]

[1]"

Cheryl””Cushing”

[[5]]

Reuven””Ytzrhak"

[[6]]

[1]"

Joel"

”Knox”

[[7]]

[1]”Mary”"

Rayburn"

[[8]]

Greg”"

England”

[[9]]

[1]”Brad””Tmac”

[[10]]

[1]”Tracy"

"

Mcgrady”

7:

把name分成Firstname和LastName,加入到StuScore中

〉FirstName〈—sapply(name,"

["

1)

〉LastName<

-sapply(name,"

,2)

〉StuScore<

-cbind(FirstName,LastName,StuScore[,—1])

〉StuScore

FirstNameLastNameLastNameStuNameMathScienceEnglishscoregrade

1JohnDavisDavisJohnDavis50295250。

22B

2AngelaWilliamsWilliamsAngelaWilliams4656712—1。

00E

3BullJonesJonesBullJones62178220。

21B

4CherylCushingCushingCherylCushing5756618-0。

38E

5ReuvenYtzrhakYtzrhakReuvenYtzrhak4549615—0.30E

6JoelKnoxKnoxJoelKnox63489300。

7MaryRayburnRayburnMaryRayburn57678370.56B

8GregEnglandEnglandGregEngland4215612-1。

42E

9BradTmacTmacBradTmac5996822-0。

10TracyMcgradyMcgradyTracyMcgrady666100381.43B

8:

order排序

〉StuScore[order(LastName,FirstName),]

4CherylCushingCushingCherylCushing5756618-0.38E

1JohnDavisDavisJohnDavis50295250。

8GregEnglandEnglandGregEngland4215612—1。

3BullJonesJonesBullJones62178220.21B

6JoelKnoxKnoxJoelKnox63489300.78B

10TracyMcgradyMcgradyTracyMcgrady666100381。

43B

7MaryRayburnRayburnMaryRayburn57678370.56B

9BradTmacTmacBradTmac5996822-0。

2AngelaWilliamsWilliamsAngelaWilliams4656712—1.00E

9:

为StuScore绘制分组条形图

install。

packages(”vcd”)

library(vcd)

fill_colors<

—c()#不同的等级,不同的颜色显示

for(iin1:

length(StuScore$Science))

{

if(StuScore$Science[i]==100)

fill_colors<

—c(fill_colors,”red"

}

elseif(StuScore$Science[i]〈100&&StuScore$Science[i]〉=80)

fill_colors〈—c(fill_colors,"

yellow”)

elseif(StuScore$Science[i]<

80&

&StuScore$Science[i]〉=60)

-c(fill_colors,"

blue”)

}else{

-c(fill_colors,”green"

}

barplot(StuScore$Science,#条形图

main=”ScienceScore”,

xlab=”Name"

ylab="

ScienceScore”,

col=fill_colors,

names.arg=(paste(substr(FirstName,1,1),"

.”,LastName)),#设定横坐标名称

border=NA,#条形框不设置边界线

font.main=4,

font。

lab=3,

beside=TRUE)

legend(x=8。

8,y=100,#左上角点的坐标

cex=.8,#缩放比例

inset=5,

c("

Excellent”,"

Good”,”Ordinary”,”Bad"

),

pch=c(15,16,17,19),#图例中的符号

col=c("

red"

,”yellow”,”blue"

,”green"

),

bg=”#821122”,#背景色

xpd=TRUE,#可以在绘图区之外显示

text.font=8,

text.width=。

8,

text.col=c(”red”,”yellow”,"

blue”,"

green"

10:

现有6名患者的身高和体重,检验体重除以身高的平方是否等于22。

5。

编号

身高m

1.75

1.80

1。

65

1.90

74

91

体重kg

60

72

90

height〈—c(1.75,1。

80,1。

65,1.90,1.74,1。

91)

weight〈—c(60,72,57,90,95,72)

sq。

height<

—height^2

ratio<

-weight/sq。

height

t。

test(ratio,mu=22.5)#t检验

11:

将三种不同菌型的伤寒病毒a,b,c分别接种于100,9,11只小白鼠上,观察其存活天数,问三种菌型下小白鼠的平均存活天数是否有显著差异.

a菌株:

2,4,3,2,4,7,7,2,5,4

b菌株:

5,6,8,5,10,7,12,6,6

c菌株:

7,11,6,6,7,9,5,10,6,3,10

准备数据表,day和type各位一列。

#数据读取,将test。

txt中的内容保存到bac中,header=T表示保留标题行.

bac〈-read。

table(“D:

/anova。

data.txt"

header=T)

#将ba数据框中的type转换为因子(factor)

bac$type<

-as。

factor(bac$type)

ba.an<

-aov(lm(day~type,date=bac))

summary(ba.an)

boxplot(day~type,data=bac,col=”red”)

12:

Calculatethefirst50powersof2,2*2,2*2*2,etc。

Calculatethesquaresoftheintegernumbersfrom1to50.

Whichpairsareequal,i.e.whichintegernumbersfulfillthecondition

Howmanypairsarethere?

(UseRtosolveallthesequestions!

n=c(1:

50)

a=2^n

b=n^2

〉x=a-b

n[x==0]

[1]24

sum(x==0)

[1]2

〉n[!

((x>

0)|(x〈0))]

sum(!

((x〉0)|(x<

0)))

13:

Calculatethesine,cosine,andthetangentfornumbersrangingfrom0to(withdistance0.1betweenthem)。

Rememberthattan(x)=sin(x)/cos(x).Nowcalculatethedifferencebetweentan(x)andsin(x)/cos(x)forthevaluesabove.Whichvaluesareexactlyequal?

Whatisthemaximumdifference?

Whatisthecauseofthedifferences?

〉A=seq(0,2*pi,0。

1)

〉for(xinA)

+if(sin(x)/cos(x)==tan(x))

+{print(x)}

[1]0

[1]0.4

[1]0。

[1]0.8

[1]1。

[1]1。

[1]1.7

[1]1.9

[1]2

[1]2.1

[1]2.3

[1]2。

[1]2。

[1]2.8

[1]2.9

[1]3

[1]3。

[1]3.2

[1]3。

[1]3.6

[1]3.7

[1]3。

[1]4

[1]4。

[1]4.2

[1]4.5

[1]4。

[1]4.8

[1]5

[1]5。

[1]5。

[1]5.3

[1]5。

[1]5。

[1]5.8

[1]6

[1]6.1

[1]6。

〉x=seq(from=0,to=2*pi,by=0.1)

s=sin(x)

〉c=cos(x)

t=tan(x)

d=s/c-t

x[md==abs(d)]

[1]4.7

〉x[d==0]

[1]0.00。

40.50.81。

41.61.71。

81.92.02。

12。

32。

42。

52。

72.82。

93。

[19]3.13。

23。

33.43.63。

73。

84.04.14.24。

54.64.84。

95。

05.15。

25。

[37]5。

45。

55.75。

86。

06。

16.2

14:

UsetheRhelproutines(notthemanuals)tofindouthowtousethefunctionsfloor,trunc,round,ceiling,andwhattheydo.Predictwhateachofthesefunctionswillgiveasananswerforthenumbers-3。

7and+3.8。

UseRtotestyourpredictions.

ceiling向上取整

floor向下取整

trunc截尾取整

round按所保留的小数点位数四舍五入

signif按所需的有效数位数四舍五入

〉ceiling(—3.7)

[1]-3

〉ceiling(-3.3)

[1]—3

ceiling(3.1)

[1]4

floor(—3。

7)

[1]-4

〉floor(3.8)

[1]3

〉trunc(—3。

[1]—3

〉trunc(—3.3)

trunc(3。

8)

[1]3

〉round(—3。

[1]—4

〉round(3.8)

〉round(-3。

74,digits=1)

[1]-3.7

79,digits=1)

[1]—3.8

round(3。

89,digits=1)

〉round(3。

84,digits=1)

[1]3.8

signif(-3。

[1]—3.7

〉signif(3。

[1]3。

signif(3.8,digits=2)

signif(-3.7,digits=1)

[1]—4

3,digits=1)

[1]-3

signif(3.1,digits=1)

[1]3

signif(3.8,digits=1)

[1]4

15:

编写函数

定义函数:

rcal〈-function(x,y)

Z<

—x^2+y^2;

Result〈-sqrt(z);

Result;

调用函数:

Rcal(3,4)

16:

在原有图形上添加元素

X〈-rnorm(100)#生成随机数

Hist(x,freq=F)#绘制直方图

Curve(dnom(x),add=T)#添加曲线

H<

—hist(x,plot=F)#绘制直方图

Ylim〈—range(0,h$density,dnorm(0))#设定纵轴的取值范围

Hist(x,freq=F,ylim=ylim)#绘制直方图

Curve(dnorm(x),add=T,col=”red”)#添加曲线

17:

生成0到2之间的50个随机数,分别命名为x,y

X<

—runif(50,0,2)

Y<

-runif(50,0,2)

绘图:

将主标题命名为“散点图”,横轴命名为“横坐标”,纵轴命名为“纵坐标”

Plot(x,y,main=”散点图"

,xlab="

横坐标”,ylab=”纵坐标”)

Test(0.6,0.6,"

textat(0。

6,0。

6)”)

Abline(h=.6,v=.6)

18:

分步绘图:

Plot(x,y,type=”n”,xlab=””,axes=F)#打开绘图窗口,不绘制任何对象

Point(x,y)#添加坐标点

Axis(at=seq(0.2,1。

8,0.2),side=3)#添加纵轴

Box()#补齐散点图的边框

Title(main="

maintitle”,sub=”subtitle"

xlab=”x—lable”,”ylab=”y=lable”)#添加标题、副标题、横轴说明、纵轴说明

19:

一页多图(par())

Par(mfrow=c(2,2))

20:

对一批涂料进行研究,确定搅拌速度对杂质含量的影响,数据如下,试进行回归分析

表:

搅拌速度对涂料中杂质的影响

转速

Rpm

24

26

28

32

34

36

40

42

杂质率

8。

9。

11.8

10.4

13。

14.8

14.7

16。

18。

18.5

#将以下代码粘贴到编辑器中,另存为regression.r文件

Rate〈-c(20,22,24,26,28,30,32,34,36,38,40,42)

Impurity<

-c(8。

4,9.5,11。

8,10.4,13.3,14.8,13.2,14.7,16.4,16。

5,18。

9,18.5)

Plot(impurity~rate)

Reg〈—lm(impurity~rate)

Abline(reg,col=”red”)

Summary(reg)

三种运行方式

1通过source()函数运行

Source(“D:

/regression.r”)

2通过R搅拌编辑器运行

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

当前位置:首页 > 经管营销 > 金融投资

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

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