首页 >> 实验教学 >> 实验项目 >> 详细内容
实验教学
 
实验项目 >> 正文
《R语言入门与实践》
日期:2021-12-09 18:27:31  发布人:nclgjsj  浏览量:458

 


实验一 R语言上机环境

(一)实验目的

熟悉R语言上机环境

掌握R语言上机过程与步骤

(二)实验设备

    硬件:微机一台

软件:R-4.0.2-winRStudio

(三)实验内容和要求

1,2,20构成两个4×5阶的矩阵,其中矩阵A是按列输入,矩阵B是按行输入并做如下运算.

C=A+B;

D=A*B;

F是由A的前3行和前3列构成的矩阵;

(四)实验步骤:

创建按列、行输入的4×5矩阵

A<-matrix(1:20,c(4,5))

A

B<-matrix(1:20,nrow=4,byrow=TRUE)

B

编写程序求解

C=A+B

C

D=A*B

D

F<-A[1:3,1:3]

F

H<-matrix(c(1,2,4,5),nrow=1)

H

G<-B[,H]

G

R-4.0.2-winRStudio进行验证

实验结果

(六)实验心得:(根据本次实验体会写出心得,不得少于200字)

 

 

实验二 创建和使用R语言数据框

(一)实验目的

熟悉R语言数据框

掌握数据框的创建方法和使用

(二)实验设备

    硬件:微机一台

软件:R-4.0.2-winRStudio

(三)实验内容和要求

已知5学生的数据,如下表所示.数据框的形式读入数据.

学生数据

序号

姓名

性别

年龄

身高cm

体重kg

1

张三

14

156

42.0

2

李四

15

165

49.0

3

王五

16

157

41.5

4

赵六

14

162

52.0

5

丁一

15

159

45.5

 

(四)实验步骤:

1. 创建StudentData数据框

StudentData<-data.frame(name=c("zhangsan","lisi","wangwu","zhaoliu","dingyi"),sex=c("F","M","F","M","F"),age=c("14","15","16","14","15"),height=c("156","165","157","162","159"),weight=c("42","49","41.5","52","45.5"))

2. 运行程序求解

StudentData<-data.frame(name=c("zhangsan","lisi","wangwu","zhaoliu","dingyi"),sex=c("F","M","F","M","F"),age=c("14","15","16","14","15"),height=c("156","165","157","162","159"),weight=c("42","49","41.5","52","45.5"))

StudentData

3.在R-4.0.2-winRStudio进行验证

(五)实验结果

 

 

(六)实验心得:(根据本次实验体会写出心得,不得少于200字)

 

 

实验三 创建和使用R语言函数绘图

(一)实验目的

熟练掌握R语言中绘图函数的创建和使用

了解几种绘图的特点

(二)实验设备

    硬件:微机一台

软件:R-4.0.2-winRStudio

(三)实验内容要求

某单位对100名女生测定血清总蛋白含量(g/L,数据如下:

74.3

79.9

68.8

78.0

70.4

80.5

80.5

69.7

71.2

73.5

79.5

75.6

75.0

78.8

72.0

72.0

72.0

74.3

71.2

72.0

75.0

73.5

78.8

74.3

75.8

65.0

74.3

71.2

69.7

68.0

73.5

75.0

72.0

64.3

75.8

80.3

69.7

74.3

73.5

73.5

75.8

75.8

68.8

76.5

70.4

71.2

81.2

75.0

70.4

68.0

70.4

72.0

76.5

74.3

76.5

77.6

67.3

72.0

75.0

74.3

73.5

79.5

73.5

74.7

65.0

76.5

81.6

75.4

72.7

72.7

67.2

76.5

72.7

70.4

77.2

68.8

67.3

67.3

67.3

72.7

75.8

73.5

75.0

73.5

73.5

73.5

72.7

81.6

70.3

74.3

73.5

79.5

70.4

76.5

72.7

77.2

84.3

75.0

76.5

70.4

绘制上述数据的直方图、密度估计曲线、经验分布图和QQ.

 

(四)实验步骤:

1. 运用hist函数绘制直方图

hist(serumdata,freq=FALSE,col="purple",border="red",density=3,angle=60,main=paste("the histogram of serumdata"),xlab="age",ylab="frequency")

2. 运用lines函数绘制密度估计曲线

lines(density(serumdata),col="blue")

3.运用plot函数绘制经验分布图

x<-64:85

> lines(x,dnorm(x,mean(serumdata),sd(serumdata)),col="green")

>  plot(ecdf(serumdata),verticals=TRUE,do.p=FALSE)

> lines(x,pnorm(x,mean(serumdata),sd(serumdata)),col="blue")

4. 运用qqnorm函数绘制QQ图

qqnorm(serumdata,col="purple")

qqline(serumdata,col="red")

(五)实验结果

 

直方图

 

 

 

 

密度估计曲线

 

 

 

 

经验分布图

 

QQ

 

 

(六)实验心得:(根据本次实验体会写出心得,不得少于200字)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

实验四 创建和使用R语言函数统计分析

(一)实验目的

 创建和使用R语言函数统计分析

 进一步掌握函数使用时的参数

(二)实验设备

    硬件:微机一台

软件:R-4.0.2-winRStudio

(三)实验内容和要求

甲、乙两种稻谷分别播种在10块试验田中,每块实验田甲乙稻谷各种一半.假设两稻谷产量XY均服从正态分布,且方差相等.收获后10块试验田的产量如下所示(单位:千克)

甲种

140

137

136

140

145

148

140

135

144

141

乙种

135

118

115

140

128

131

130

115

131

125

求出两稻种产量的期望差 的置信区间( .

 

(四)实验步骤:

1、创建xy数据框

> x<-c(140,137,136,140,145,148,140,135,144,141)

> x

 [1] 140 137 136 140 145 148 140 135 144 141

>  y<-c(135,118,115,140,128,131,130,115,131,125)

> y

 [1] 135 118 115 140 128 131 130 115 131 125

2、运用t.test函数求解

>  t.test(x,y,var.equal=TRUE)

(五)实验结果

 

 

由以上程序运行得两稻种产量的期望差95%置信区间为 [ 7.53626, 20.06374].

(六)实验心得:(根据本次实验体会写出心得,不得少于200字)

 

实验五 R语言函数统计分析

(一)实验目的

进一步创建和使用R语言函数统计分析

  掌握数据对象在函数中的综合应用

二)实验设备

    硬件:微机一台

软件:R-4.0.2-winRStudio

(三)实验内容和要求

甲乙两组生产同种导线,现从甲组生产的导线中随机抽取4根,从乙组生产的导线中随机抽取5根,它们的电阻值(单位: )分别为

甲组

0.143

0.142

0.143

0.137

 

乙组

0.140

0.142

0.136

0.138

0.140

假设两组电阻值分别服从正态分布 未知.试求的置信区间系数为0.95的区间估计.

;

(四)实验步骤:

   1.创建xy数据框

    > x<-c(0.143,0.142,0.143,0.137)

> y<-c(0.140,0.142,0.136,0.138,0.140)

2.运用t.test函数求解.

>  t.test(x,y,var.equal=TRUE)

3.R-4.0.2-winRStudio进行验证

(五)实验结果

Two Sample t-test

 

data:  x and y

t = 1.198, df = 7, p-value = 0.2699

alternative hypothesis: true difference in means is not equal to 0

95 percent confidence interval:

 -0.001996351  0.006096351

sample estimates:

mean of x mean of y

  0.14125   0.13920

由以上程序运行甲乙两电阻的期望差95%置信区间为[-0.001996351,  0.006096351].

 

(六)实验心得:(根据本次实验体会写出心得,不得少于200字)

 

实验六 循环

(一)实验目的

创建和使用R语言的循环函数

  掌握选择结构和循环结构的综合应用

二)实验设备

    硬件:微机一台

软件:R-4.0.2-winRStudio

(三)实验内容和要求

     利用新版的score函数,再次计算老虎机的期望值。你可以使用现有的combos数据

     ,但是需要用for循环重新计算combos$prize列。 

(四)实验步骤:

   1.创建处理百搭钻石符号的score函数。

              score<-function(symbols){

              diamonds<-sun(symbols=="DD")

              cherries<-sum(symbols=="C")

             #识别情形

             #因为钻石符号是百搭符号,因此只考虑没有钻石的情况

             #三个符号相同以及都是杠的情形

             slots<-symbols[symbols!="DD"]

            same<-length(unique(slots))==1

             bars<-slots %in% c("B","BB","BBB")

             #分配奖金值

             if(diamonds==3){

              prize<-100

             else if(same){

              payouts<-c("7"=80,"BBB"=40,"BB"=25,

                " B"=10, "C" =10,"0"=0)

              prize<-unname(payouts[slots[1]])

             }else if(all(bars)){

              prize<-5

             }else if(cherries>0){

              #如果有一个樱桃

              #则将钻石当作樱桃

              prize<-c(0,2,5)[cherries+diamonds+1]

             }else{

              prize<-0

}

 

             #根据钻石的数量,把奖金翻倍

             prize*2^diamonds

}

 

2.更新期望值.

 

3.重新计算期望值

(五)实验结果

for(i in 1:nrow(combos)){

             symbols<-c(combos[i,1],combos[i,2],combos[i,3])

             combos$prize[i]<-score(symbols)

}

重新计算期望值

sum(combos$prize*combos$prob)

 ##0.934356

(六)实验心得:(根据本次实验体会写出心得,不得少于200字)

 

 

 

核发:nclgjsj 点击数:458收藏本页