(一)实验目的
熟悉R语言上机环境
掌握R语言上机过程与步骤
(二)实验设备
硬件:微机一台
软件:R-4.0.2-win及RStudio
(三)实验内容和要求
将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-win或RStudio进行验证
实验结果
(六)实验心得:(根据本次实验体会写出心得,不得少于200字)
实验二 创建和使用R语言数据框
(一)实验目的
熟悉R语言数据框
掌握数据框的创建方法和使用
(二)实验设备
硬件:微机一台
软件:R-4.0.2-win及RStudio
(三)实验内容和要求
已知有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-win或RStudio进行验证
(五)实验结果
(六)实验心得:(根据本次实验体会写出心得,不得少于200字)
实验三 创建和使用R语言函数绘图
(一)实验目的
熟练掌握R语言中绘图函数的创建和使用
了解几种绘图的特点
(二)实验设备
硬件:微机一台
软件:R-4.0.2-win及RStudio
(三)实验内容要求
某单位对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-4.0.2-win及RStudio
(三)实验内容和要求
甲、乙两种稻谷分别播种在10块试验田中,每块实验田甲乙稻谷各种一半.假设两稻谷产量X,Y均服从正态分布,且方差相等.收获后10块试验田的产量如下所示(单位:千克)
甲种 |
140 |
137 |
136 |
140 |
145 |
148 |
140 |
135 |
144 |
141 |
乙种 |
135 |
118 |
115 |
140 |
128 |
131 |
130 |
115 |
131 |
125 |
求出两稻种产量的期望差 的置信区间(
).
(四)实验步骤:
1、创建x、y数据框
> 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-4.0.2-win及RStudio
(三)实验内容和要求
甲乙两组生产同种导线,现从甲组生产的导线中随机抽取4根,从乙组生产的导线中随机抽取5根,它们的电阻值(单位: )分别为
甲组 |
0.143 |
0.142 |
0.143 |
0.137 |
|
乙组 |
0.140 |
0.142 |
0.136 |
0.138 |
0.140 |
假设两组电阻值分别服从正态分布 未知.试求
的置信区间系数为0.95的区间估计.
;
(四)实验步骤:
1.创建x、y数据框
> 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-win或RStudio进行验证
(五)实验结果
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-win及RStudio
(三)实验内容和要求
利用新版的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字)