R语言练习题Word文档下载推荐.docx
《R语言练习题Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《R语言练习题Word文档下载推荐.docx(10页珍藏版)》请在冰豆网上搜索。
write.table(x,file="
x.txt"
);
rm(x);
x
header=T);
class(x);
-as.numeric(x$x);
7查看mtcars数据(mtcars回车);
把vs变量所在列的元素全都改成你的“学号后两位”(mtcars$vs<
-7);
把mtcars存为mtcars.csv文件;
读入mtcars.csv文件存入mtcarsnew;
Mtcars
Mtcars$vs<
-学号后两位
mtcarsnew<
-read.csv()
8把mtcars转换成矩阵mm并判断数据类型;
把第六行改成你的“学号后两位”;
取矩阵mm前11行存入变量mtcars11;
取mtcars11的主对角线的元素,构成主对角阵mt;
取mtcars11的上三角阵存入mtupper;
(需要通过网络搜索学习上三角矩阵定义)
mm<
-as.matrix(mtcars);
class(mm)
mm[6,]<
mtcars11(mtcars11<
-head(mtcars,11))
mt(mt<
-diag(diag(mtcars11)))
mtupper(x[lower.tri(x)]<
-0;
mtupper<
-x)
x[lower.tri(x)]<
-0
lower.tri(x,diag=FALSE
x[upper.tri(x)]<
upper.tri(x,diag=FALSE)
9把mtupper的行名和列名改为NULL。
rownames(mtupper)<
-NULL
colnames(mtupper)<
10.mtupper每一行求和,存入mtsum。
mtsum<
-apply(mtupper,MARGIN=1,FUN=sum)
附录:
数据:
1身高体重数据
weightheight
4.171.75
5.581.8
5.181.65
6.111.9
4.51.74
4.611.91
5.171.75
4.531.8
5.331.65
5.141.9
4.811.74
4.171.91
4.411.75
3.591.8
5.871.65
3.831.9
6.031.74
4.891.91
4.321.75
4.691.8
统计软件实验3
1数据的读取(数据见附录)
data<
-read.table("
路径/t.data.txt"
header=T)
2绘图
plot(height,weight)#绘图
3更改绘图的参数的取值
例如:
plot(height,weight,pch=2)#更改后的绘图
5.根据cityrain数据作图。
令Y轴范围(0,300),xaxt="
n"
,type="
b"
颜色为黑,X轴标题为“Month”,Y轴标题为“TokyoRainfall(mm)”,主标题“MonthlyRainfallinmajorcities”。
用axis()函数添加X轴,使在X轴1到12的位置分别对应12个月份。
rain<
-read.csv("
cityrain.csv"
)
plot(rain$Tokyo,type="
xaxt="
ylim=c(0,300),col="
black"
xlab="
Month"
ylab="
Rainfall(mm)"
main="
MonthlyRainfallinmajorcities"
axis(1,at=1:
12,labels=rain$Month)
4.在[0,4pi]画sin(x),cos(x)(在同一个图象中);
其中sin(x)和cos(x)图象用不同的颜色和形状表示,并在函数图上适当的位置标注“箭头+y=sin(x)”,“箭头+y=cos(x)”,标记x轴,y轴,标题为“正弦余弦函数图象”.
plot(sin,0,4*pi,main="
正弦余弦函数图像"
x轴"
y轴"
col="
red"
type="
pch=18)
curve(cos,0,4*pi,col="
blue"
pch=1,add=T)
arrows(3.3,0.8,2.3,0.8)
text(3.8,0.8,"
sin(x)"
arrows(10.8,0.8,11.8,0.8)
text(10,0.8,"
cos(x)"
统计软件实验4
1使用三种循环,输出向量1:
100中所有数据。
1
for(Iin1:
100)
print(I)
2
while(i<
=100){
sum<
-sum+i
i<
-i+1
}
print(sum)
3
repeat{
if(i%%2!
=0)sum<
i<
if(i>
100)break
}
2使用while循环求1+2+3+…+100的和。
-1
-0
while(i<
=100){
sum<
-sum+1
print(sum)
3使用repeat循环求1至100之间的奇数和。
4使用for循环输出1至100之间的能够被3或5整除的数,并求和。
for(iin1:
100){
if(i%%3==0|i%%5==0){
print(i)
sum<
5定义一个长度为100、mean=1,sd=1的正态分布随机向量,并找出该向量的最小值及其出现的位置。
rnorm(n,mean,sd),种子设为123
set.seed(123)
norm<
-rnorm(100,1,1)
min.norm<
-100
if(norm[i]<
=min.norm){
min.norm=norm[i]
min.count=i
cat(min.norm,min.count)
6找出100次产生的长度为100、mean=1,sd=1的正态分布随机向量的最小值与出现位置的关系。
(用plot(min.count,min.norm)表示,其中min.count为位置向量,min.norm为最小值向量)
norm<
min.norm[i]<
for(iin1:
=min.norm[i]){
min.norm[i]=norm[i]
min.count[i]=i
plot(min.count,min.norm)
7
Calculatethefirst50powersof2,2*2,2*2*2,etc.
Calculatethesquaresoftheintegernumbersfrom1to50.
Whichpairsareequal,i.e.whichintegernumbersfulfillthecondition
.
Howmanypairsarethere?
(UseRtosolveallthesequestions!
(思考使用循环和不使用循环两种方式解答)
sum=0
if(2^i==i^2){
sum=sum+1
cat("
sum="
sum)
n=c(1:
50)
a=2^n
b=n^2
x=a-b
n[x==0]
sum(x==0)
n[!
((x>
0)|(x<
0))]
sum(!
0)))