天问

R语言笔记(3)

1 将屏幕分割为四块,并分别画出

要求都以线的形式画出,4个图的颜色分别为:红,蓝、绿和黑色,线宽分别为1,2,3,4

par(mfrow=c(2,2))

x=seq(1,10,by=0.1)

y=sin(x)

z=3*cos(x)

a=sin(x)*cos(x)

b=sin(x)/x

plot(x,y)

lines(x,y,col="red",lwd=1)

 

plot(x,z)

lines(x,z,col="blue",lwd=2)

 

plot(x,a)

lines(x,a,col="green",lwd=3)

 

plot(x,b)

lines(x,b,lwd=4)

1

Fig   1

 

2 把语句x <- floor(100*runif(100))所生成的向量x保存到一个文本文件中,然后从此文件中读入数据到向量y中,计算y的均值、中位数;同时,将向量y转化成一个10*10的矩阵A,并对矩阵A的行命名为x1,...,x10.

 

write.table(x <- floor(100*runif(100)),file="D:/data2.txt")

y=read.table(file="D:/data2.txt")

y_mean= mean(y$x)

y_median=median(y$x)

A=array(y$x,dim=c(10,10))

dimnames(A)=list(c(),c("x1","x2","x3","x4","x5","x6","x7","x8","x9","x10"))

A=array(y$x,dim=c(10,10),dimnames(A))

2

Fig   2

列命名:

dimnames(A)=list(c("x1","x2","x3","x4","x5","x6","x7","x8","x9","x10"))

A=array(y$x,dim=c(10,10),dimnames(A))

3

Fig  3

 

3按如下方式生成100个随机数y:先生成服从区间(0,1)上的随机数x,如果x<0.9,则yN(0,1)产生;如果x>=0.9,则yN(0,10)产生,然后画出yQQ图和箱线图。

x=scan()

if (x<0.9) {y=rnorm(100,0,1)}

else

{

y=rnorm(100,0,10)

}

qqplot(rnorm(100),y,col="red")

qqline(y)

title("QQ图")

4

Fig  4

windows(2)

boxplot(y,col="green")

title("箱线图")

 5

Fig   5

4 书本P68 4题。

x=c(1,2,3,4,5)

y=c(2,4,6,8,10)

#Method One

x%%y

x%o%y

#Method Two

crossprod(x,y)

outer(x,y)

#Method Three

t(x)%*%y

x%*%t(y)

6

Fig  6

5书本P68 7题。

(1)(2)

 

> foo=read.table(file="D:/data2_7.txt")

> foo

V1   V2   V3   V4   V5

1  序号 性别 年龄 身高 体重

2     1    F   14  156 42.3

3     2    F   16  158   45

4     3    F   15  161 48.5

5     4    F   16  156 51.5

6     5    F   15  153 44.6

7     6    M   14  162 48.8

8     7    M   16  157 46.7

9     8    M   14  159 49.9

10    9    M   15  163 50.2

11   10    M   16  165 53.7

 

(3)

write.csv(foo,file="D:/da.csv")

7

Fig  7

 read.csv(file="D:/da.csv")

测试成功

 

博客地址:http://blog.yoqi.me/?p=843
扫我捐助哦
喜欢 1

这篇文章还没有评论

发表评论