统计软件期中考试A(2013级)答案
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据如下:
Name Sex Age Height Weight
Alice F 23 136.5 42.0 (你的学号为奇数,去掉第一行) Sandy F 21 141.3 50.5 Sharon F 25 152.5 60.5 Alfred M 24 169.0 62.5 Duke M 24 170.5 55.0 Guido M 25 167.0 60.0 Robert M 12 164.8 50.0 (你的学号为偶数,去掉最后一行) (1) 用数据框的形式读入数据,数据框名称为你的姓名拼音的首字母(如周丽:ZL)
}
}
TJ(T=36,J=100)
for (x in 1:36) 输出: $hen [1] 22
if (2*x+4*(36-x)==100) print(list(hen=x,rabbit=36-x))
学号:
$rabbit [1] 14
姓名:
成绩:
(2) 将上述数据写成一个纯文本文件(文件名为你的姓名拼音的首字母+学号后 4 位数字),
并用函数 read.table()读取该文件,筛选出体重指数 BMI 过小或过大的学生信息。
注:体重指数(BMI)=体重(kg)÷身高(m)的平方,如:70kg÷(1.75×1.75)=22.86,
BMI 值介于 20~24 之间为正常值。
学号:
姓名:
Name Sex Age Height Weight
BMI
2 Sandy F 21 141.3 50.5 25.29339
3 Shron F 25 152.5 60.5 26.01451
5 Duke M 24 170.5 55.0 18.91969
散点图
成绩:
60
55
体重
50
45
140 145 150 155 160 165 170
5.已知 x=2^(0:3),则命令 2*x 返回的结果为
2 4 8 16
6.命令 2*3:7 返回的结果为 6 8 10 12 14
7.命令 rep(c(1,3),each=3)返回结果为 1 1 1 3 3 3
8.命令 sort(c(2, 10,7,9,5)) 返回结果为 2 5 7 9 10
9. 命令 matrix(2:7,nrow=2,byrow=F)返回结果为 2 4 6
>
3. (10 分)鸡兔同笼问题:鸡和兔关在一个笼子里,已知共有头 36 个,脚 100 个,编
制自定义函数,求笼内关了多少只兔和多少只鸡。 JT<-function(T,J)
{
for(x in 1:T)
{
if(2*x+4*(T-x)= =J)
return(list(hen =x,rabbit =T-x))
命令
b$name 或 b[1]
返回的结果为"Fred"
15. 执行命令 b<-list(name="Fred",wife="Mary",no.child=3,child.ages=c(4,7,9))后,
则命,令 length(b)返回的结果为
4
16.执行命令 xx=array(1:24,c(3,4,2))后,则命令 xx[2,1:3,2]返回的结果为 1 4 17 20
plot(x=Height,y=Weight,xlab="身高",ylab="体重",main="散点图") ZL$mycol[Sex=="F"]<-"red" ZL$mycol[Sex=="M"]<-"green" plot(x=Height,y=Weight,xlab="身高",ylab="体重",main="散点图",col=ZL$mycol,pch=2) abline(lm(Weight~Height,data=D),lty=1,lwd=3) 输出: > subset(D,BMI<20 | BMI>24)
17. 执行命令 a=data.frame(class=c(1,1,2,2,3,3,3),sex=c("女","男","男","女","女
","女","男"),score=c(80,85,92,76,61,95,83))后,则命令 a$score[a[2]=="男"]返回的
结果为
85,92, 83
18.已知变量 x=c(2,3),则执行命令 x[5]<-5 后变量 x 的结果为 2 3 NA NA 5
学号:
姓名:
成绩:
输出:
>H
[,1]
[,2]
[,3]
[,4]
[,5]
[1,] 1.0000000 0.5000000 0.3333333 0.2500000 0.2000000
[2,] 0.5000000 0.3333333 0.2500000 0.2000000 0.1666667
[3,] 0.3333333 0.2500000 0.2000000 0.1666667 0.1428571
程序:Name<-c("Alice","Sandy","Shron","Alfred","Duke","Guido") Sex<-c("F","F","F","M","M","M") Age<-c(23,21,25,24,24,25) Height<-c(136.5,141.3,152.5,169.0,170.5,167.0) Weight<-c(42.0,50.5,60.5,62.5,55.0,60) ZL<-data.frame(Name,Sex,Age,Height,Weight)
学号:
姓名:
成绩:来自百度文库
《统计软件》期中试卷
一、填空与选择(每小题 2 分,共 40 分)
1. R 软件编制的程序文件后缀名为
*.R
2. R 软件命令窗口的命令提示符为
>
3. 安装程序包 ggplot2 的命令为 install.packages("ggplot2")
4.下列变量名中的 A 是合法变量
(A)char_1,data_2,x_j (B)x*y ,a.1 (C)x\y,a1234 (D)end,2bcx
身高
2. (8 分)生成一个 5 阶的 Hilbert 矩阵
(1) 计算 Hilber 矩阵 H 的行列式 (2) 求 H 的逆矩阵
程序:n<-5 H<-matrix(ncol=n,nrow=n) for (i in 1:n) { for (j in 1:n) {
H[i,j]<-1/(i+j-1) } } H det(H) solve(H)
19.已知变量 x=1:10+2,则命令 x[1:5]返回的结果为 3 4 5 6 7
20.命令 paste("x",1:5,sep="")的返回结果为 "x1" "x2" "x3" "x4" "x5"
二、论述题(10 分)
谈谈你学习《统计软件》的真实体会、感受、建议与意见?要求不少于 300 字。
write.table(ZL,file="E:/Rprogram/data/ZL1234.txt") D<-read.table("E:/Rprogram/data/ZL1234.txt",header=TRUE) D$BMI<-D$Weight/(D$Height/100)^2 subset(D,BMI<20 | BMI>24)
三、编程题(共 52 分, 只需交程序,所有程序(每个小题前加上注释说明)写在一
个 R 程序文件中,文件名以你的学号+姓名命名,最后传到 ftp://10.130.253.106 中的“统计
学号:
姓名:
成绩:
软件 R”文件夹下的“期中考试”目录下)
1. (6+10+6+10=32 分)现有 7 位成人的姓名、性别、年龄、身高(cm)、体重(kg)
[1,] 25 -300 1050 -1400 630
[2,] -300 4800 -18900 26880 -12600
[3,] 1050 -18900 79380 -117600 56700
[4,] -1400 26880 -117600 179200 -88200
[5,] 630 -12600 56700 -88200 44100
(3) 在一个窗口中绘制两幅图: (a)身高为横轴、体重为纵轴的散点图,横、纵坐标轴设置为中文的,标题为“散点图” (b)将上题中男生(M)的数据点、女生(F)的数据点,分别用绿色和红色的空心三角
标志出来,并在图上绘制线性回归拟合直线(如果你是女生请用实线,线宽度为 2,否则用 虚线,线宽度为 1.5)。
[4,] 0.2500000 0.2000000 0.1666667 0.1428571 0.1250000
[5,] 0.2000000 0.1666667 0.1428571 0.1250000 0.1111111
> det(H)
[1] 3.749295e-12
> solve(H)
[,1] [,2] [,3] [,4] [,5]
357
10.已知矩阵,则命令 A%*%A 返回的结果为 7 15
10 22
11. 已知矩阵,则命令 dim(A)返回的结果为 2 2
12. 已知矩阵,则命令 apply(A,2,sum)返回的结果为 3 7
13.命令 rbind(1:3,1:4)返回的结果为 1 2 3 1
1234
14 执行命令 b<-list(name="Fred",wife="Mary",no.child=3,child.ages=c(4,7,9))后,则
Name Sex Age Height Weight
Alice F 23 136.5 42.0 (你的学号为奇数,去掉第一行) Sandy F 21 141.3 50.5 Sharon F 25 152.5 60.5 Alfred M 24 169.0 62.5 Duke M 24 170.5 55.0 Guido M 25 167.0 60.0 Robert M 12 164.8 50.0 (你的学号为偶数,去掉最后一行) (1) 用数据框的形式读入数据,数据框名称为你的姓名拼音的首字母(如周丽:ZL)
}
}
TJ(T=36,J=100)
for (x in 1:36) 输出: $hen [1] 22
if (2*x+4*(36-x)==100) print(list(hen=x,rabbit=36-x))
学号:
$rabbit [1] 14
姓名:
成绩:
(2) 将上述数据写成一个纯文本文件(文件名为你的姓名拼音的首字母+学号后 4 位数字),
并用函数 read.table()读取该文件,筛选出体重指数 BMI 过小或过大的学生信息。
注:体重指数(BMI)=体重(kg)÷身高(m)的平方,如:70kg÷(1.75×1.75)=22.86,
BMI 值介于 20~24 之间为正常值。
学号:
姓名:
Name Sex Age Height Weight
BMI
2 Sandy F 21 141.3 50.5 25.29339
3 Shron F 25 152.5 60.5 26.01451
5 Duke M 24 170.5 55.0 18.91969
散点图
成绩:
60
55
体重
50
45
140 145 150 155 160 165 170
5.已知 x=2^(0:3),则命令 2*x 返回的结果为
2 4 8 16
6.命令 2*3:7 返回的结果为 6 8 10 12 14
7.命令 rep(c(1,3),each=3)返回结果为 1 1 1 3 3 3
8.命令 sort(c(2, 10,7,9,5)) 返回结果为 2 5 7 9 10
9. 命令 matrix(2:7,nrow=2,byrow=F)返回结果为 2 4 6
>
3. (10 分)鸡兔同笼问题:鸡和兔关在一个笼子里,已知共有头 36 个,脚 100 个,编
制自定义函数,求笼内关了多少只兔和多少只鸡。 JT<-function(T,J)
{
for(x in 1:T)
{
if(2*x+4*(T-x)= =J)
return(list(hen =x,rabbit =T-x))
命令
b$name 或 b[1]
返回的结果为"Fred"
15. 执行命令 b<-list(name="Fred",wife="Mary",no.child=3,child.ages=c(4,7,9))后,
则命,令 length(b)返回的结果为
4
16.执行命令 xx=array(1:24,c(3,4,2))后,则命令 xx[2,1:3,2]返回的结果为 1 4 17 20
plot(x=Height,y=Weight,xlab="身高",ylab="体重",main="散点图") ZL$mycol[Sex=="F"]<-"red" ZL$mycol[Sex=="M"]<-"green" plot(x=Height,y=Weight,xlab="身高",ylab="体重",main="散点图",col=ZL$mycol,pch=2) abline(lm(Weight~Height,data=D),lty=1,lwd=3) 输出: > subset(D,BMI<20 | BMI>24)
17. 执行命令 a=data.frame(class=c(1,1,2,2,3,3,3),sex=c("女","男","男","女","女
","女","男"),score=c(80,85,92,76,61,95,83))后,则命令 a$score[a[2]=="男"]返回的
结果为
85,92, 83
18.已知变量 x=c(2,3),则执行命令 x[5]<-5 后变量 x 的结果为 2 3 NA NA 5
学号:
姓名:
成绩:
输出:
>H
[,1]
[,2]
[,3]
[,4]
[,5]
[1,] 1.0000000 0.5000000 0.3333333 0.2500000 0.2000000
[2,] 0.5000000 0.3333333 0.2500000 0.2000000 0.1666667
[3,] 0.3333333 0.2500000 0.2000000 0.1666667 0.1428571
程序:Name<-c("Alice","Sandy","Shron","Alfred","Duke","Guido") Sex<-c("F","F","F","M","M","M") Age<-c(23,21,25,24,24,25) Height<-c(136.5,141.3,152.5,169.0,170.5,167.0) Weight<-c(42.0,50.5,60.5,62.5,55.0,60) ZL<-data.frame(Name,Sex,Age,Height,Weight)
学号:
姓名:
成绩:来自百度文库
《统计软件》期中试卷
一、填空与选择(每小题 2 分,共 40 分)
1. R 软件编制的程序文件后缀名为
*.R
2. R 软件命令窗口的命令提示符为
>
3. 安装程序包 ggplot2 的命令为 install.packages("ggplot2")
4.下列变量名中的 A 是合法变量
(A)char_1,data_2,x_j (B)x*y ,a.1 (C)x\y,a1234 (D)end,2bcx
身高
2. (8 分)生成一个 5 阶的 Hilbert 矩阵
(1) 计算 Hilber 矩阵 H 的行列式 (2) 求 H 的逆矩阵
程序:n<-5 H<-matrix(ncol=n,nrow=n) for (i in 1:n) { for (j in 1:n) {
H[i,j]<-1/(i+j-1) } } H det(H) solve(H)
19.已知变量 x=1:10+2,则命令 x[1:5]返回的结果为 3 4 5 6 7
20.命令 paste("x",1:5,sep="")的返回结果为 "x1" "x2" "x3" "x4" "x5"
二、论述题(10 分)
谈谈你学习《统计软件》的真实体会、感受、建议与意见?要求不少于 300 字。
write.table(ZL,file="E:/Rprogram/data/ZL1234.txt") D<-read.table("E:/Rprogram/data/ZL1234.txt",header=TRUE) D$BMI<-D$Weight/(D$Height/100)^2 subset(D,BMI<20 | BMI>24)
三、编程题(共 52 分, 只需交程序,所有程序(每个小题前加上注释说明)写在一
个 R 程序文件中,文件名以你的学号+姓名命名,最后传到 ftp://10.130.253.106 中的“统计
学号:
姓名:
成绩:
软件 R”文件夹下的“期中考试”目录下)
1. (6+10+6+10=32 分)现有 7 位成人的姓名、性别、年龄、身高(cm)、体重(kg)
[1,] 25 -300 1050 -1400 630
[2,] -300 4800 -18900 26880 -12600
[3,] 1050 -18900 79380 -117600 56700
[4,] -1400 26880 -117600 179200 -88200
[5,] 630 -12600 56700 -88200 44100
(3) 在一个窗口中绘制两幅图: (a)身高为横轴、体重为纵轴的散点图,横、纵坐标轴设置为中文的,标题为“散点图” (b)将上题中男生(M)的数据点、女生(F)的数据点,分别用绿色和红色的空心三角
标志出来,并在图上绘制线性回归拟合直线(如果你是女生请用实线,线宽度为 2,否则用 虚线,线宽度为 1.5)。
[4,] 0.2500000 0.2000000 0.1666667 0.1428571 0.1250000
[5,] 0.2000000 0.1666667 0.1428571 0.1250000 0.1111111
> det(H)
[1] 3.749295e-12
> solve(H)
[,1] [,2] [,3] [,4] [,5]
357
10.已知矩阵,则命令 A%*%A 返回的结果为 7 15
10 22
11. 已知矩阵,则命令 dim(A)返回的结果为 2 2
12. 已知矩阵,则命令 apply(A,2,sum)返回的结果为 3 7
13.命令 rbind(1:3,1:4)返回的结果为 1 2 3 1
1234
14 执行命令 b<-list(name="Fred",wife="Mary",no.child=3,child.ages=c(4,7,9))后,则