R实验报告1

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

R实验报告1

1数据向量的建立与运算

1〉建立一个R文件,在文件中输入变量x=(1,2,3)T,y=(4,5,6)T, 并作以下运算:

(1)计算z=2x+y+e,其中e=(1,1,1)T;

(2)计算x与y的内积

(3)计算x与y的外积

> x=c(1,2,3)

> y=c(4,5,6)

(1) > e=rep(1,3);e

> z=2*x+y+e;z

(2)> x%*%y

(3)> x%o%y

2〉构造一个向量x,向量是由5个1, 3个2,4个3和2个4构成,注意用到rep()函数> x=rep(c(1,2,3,4),c(5,3,4,2));x

2数组、矩阵的建立与运算

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

(1)C=A+B;

(2)D=AB T;

(3)E=(e ij)n×n,其中e ij=a ij·b ij;

(4)F是由A的前3行和前 3列元素构成的矩阵

(5)G是由矩阵B的各列构成的矩阵,但不含B的第3列.

>A=matrix(1:20,nrow=4,ncol=5,byrow=FALSE);A

>B<-matrix(1:20,nrow=4,ncol=5,byrow=TRUE);B

(1)> C=A+B;C

(2)> B<-matrix(1:20,nrow=4,ncol=5);B

> G= t(B);G

> D=A%*%G;D

(3)>E=A*B;E

(4)> F=A[-4,-(4:5)];F

(5)>G=B[,3];G

2〉生成一个5阶的HiLbert矩阵,

(1)计算HiLbert矩阵H的行列式;(2)求H的逆矩阵;(3)求H的特征值和特征向量。N=5;x=array(0,dim=c(n,n))

for(i in 1:n){

for(j in 1:n){

x[i,j]<-1/(i+j-1)

}

}

X

(1)det(x)

(2)solve(x)

(3)eigen(x)

3 列表、数据框的建立

1〉己知有5名学生的数据,如表所示.用数据框的形式读入数据.

序号id姓名name性别sex年龄age身高

height 体重weight

1张三女1415642 2李四男1516549 3王五女16157

4赵六男1416252

df<(Name=c("张三","李四","王五","赵六","丁一"),

Sex=c("女","男","女","男","女"),

Age=c(14,15,16,14,15),

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

Weight=c(42,49,,52,);df

4 外部数据文件读取

1〉将3中数据表的数据写成一个纯文本文件(空格分隔),用函数()读该文件,然后再用函数()写成一个能用Excel表能打开的文件,并用Excel表打开.

在D 盘新建一个文本文档,重命名为

>rt=(“d:/”,header=T);rt

>(rt,”d:”)

5流程控制与自编函数

1〉编写一个R程序(函数).输入一个整数n. 如果n<=0,则中止运算,并输出一句话:"要求输入一个正整数"; 否则,如果。是偶数,则将n除2,并赋给n;否则'将3n + 1赋给n.不断循环,只到n=1,才停止计算,并输出一句话:‘运算成功”.这个例子是为了检验数论中的一个简单的定理.(进一步修改,若n非整数也同n<=0一样中止运算并输出)

y=function(n){

if(n<=0)y="要求输入一个正整数"

else{

repeat{

if((n%%2)==0)n=n/2

else n=3*n+1

}

}

if(n==1){y="运算成功" Break}

}

y

相关文档
最新文档