R实验报告1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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