最新R语言实验三

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

实验3 R基础(三)

一、 实验目的:

1. 掌握列表、数据框的相关运算; 2. 掌握R对数据文件的读写操作;

3. 掌握R的简单编程。

二、 实验内容: 1. 完成教材例题; 2. 完成以下练习。

练习:

要求:①完成练习并粘贴运行截图到文档相应位置(截图方法见下),并将所有自己输入文字的字体颜色设为红色(包括后面的思考及小结),②回答思考题,③简要书写实验小结。④修改本文档名为“本人完整学号姓名1”,其中1表示第1次实验,以后更改为2,3,...。如文件名为“1305543109张立1”,表示学号为1305543109的张立同学的第1次实验,注意文件名中没有空格及任何其它字符。最后连同数据文件、源程序文件等(如果有的话),一起压缩打包发给课代表,压缩包的文件名同上。 截图方法:

法1:调整需要截图的窗口至合适的大小,并使该窗口为当前激活窗口(即该窗口在屏幕最前方),按住键盘Alt键(空格键两侧各有一个)不放,再按键盘

1

23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42

右上角的截图键(通常印有“印屏幕”或“Pr Scrn”等字符),即完成截图。再粘贴到word文档的相应位置即可。

法2:利用QQ输入法的截屏工具。点击QQ输入法工具条最右边的“扳手”图标

1. 2.

自行完成教材P84页开始的2.6-2.9节中的例题。

教材在讲解列表(List)时,所举例子的参数是有名参数。这

,选择其中的“截屏”工具。)

里我们练习创建一个列表,其参数是无名参数,并回答以下问题。 (1) 运行以下命令创建列表,注意每个元素的默认名称;

L <- list(12,c(34,56),matrix(1:12,nrow=4),1:15,list(10,11))

(2) L[[2]][2]的输出结果是什么?请先自己写出结果,再运行验证; [1] 56

(3) 用1:10替换L的第四个元素,请写出命令,并运行验证; > L[[4]]<-c(1:10)

(4) 将L的第五个元素中的11替换为20,请写出命令,并运行验证。

> L[[5]][2]<- 20 运行结果截图

2

43 44

3.45

46 47 48 49 50 51 52 53 54 55 56 57

(习题2.4)生成一个5阶的Hilbert矩阵,

H?(h1ij)n?n,hij?i?j?1,i, j=1,2,…,n

(1) 计算Hilbert矩阵H的行列式; (2) 求H的逆矩阵;

(3) 求H的特征值和特征向量。

源代码:

>n<-5;H<-array(0,dim=c(n,n)) >for(i in 1:5){for(j in 1:5){ H[i,j]<-1/(i+j-1) } } >H >det(H)

3

58 59 60 61 62

>solve(H) >eigen(H)

运行截图:

63 64 65 66 67 68

4.

(习题2.5)已知有5名学生的数据,如下表所示。用数据框的

形式读入数据。

学生数据

4

序号 姓名 性别 年龄 身高cm 体重kg 1 张三 女 14 156 42.0 2 李四 男 15 165 49.0 3 王五 女 16 157 41.5 4 赵六 男 14 162 52.0 5 69 70 71 72 73 74 75 76

丁一 女 15 159 45.5 解:源代码:>df<-data.frame(

Name=c(\张三\李四\王五\赵六\丁一\Sex=c(\女\男\女\男\女\Age=c(14,15,16,14,15),

Height=c(156,165,157,162,159),

Weight=c(42.0,49.0,41.5,52.0,45.5));df 运行截图:

5

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4