作业一

2017-03-10  本文已影响0人  Yvonneecat

1 对下列数列
7.3, 6.8, 0.005, 9, 12, 2.4, 18.9, 0.9
(a) 计算数列的均值;

> a=c(7.3, 6.8, 0.005, 9, 12, 2.4, 18.9, 0.9)
> mean.a=mean(a)
> mean.a
[1] 7.163125

(b) 将均值从数列中减去;

std.a=a-mean(a)
[1]  0.136875 -0.363125 -7.158125  1.836875  4.836875
[6] -4.763125 11.736875 -6.263125

(c) 找出数列中本身大于其平方根的所有元素;

for(i in 1:8)
   if(a[i]>=sqrt(a[i]))
     print(a[i])
[1] 7.3
[1] 6.8
[1] 9
[1] 12
[1] 2.4
[1] 18.9

(d) 将每个元素的平方根近似到小数点后两位 (使用函数 round ).

> sqrt.a=sqrt(a)
> roundsqrt.a=round(sqrt.a,digits=2)
> roundsqrt.a
[1] 2.70 2.61 0.07 3.00 3.46 1.55 4.35 0.95

2 定义 area = state.x77[,"Area"]. 请将 area 以逆序的形式显示出来。

area[50:1]

3 计算 2 的前 50 次方和 1到50的平方。这两个序列有那几个元素相等?

twoexp=1:50
numsqr=1:50
for(i in 1:50) {twoexp[i]=2^i}
for (j in 1:50)  {numsqr[j]=j^2}
c=0
print(numsqr)
for(i in 1:50){
  for(j in 1:50)
{if(twoexp[i]==numsqr[j]){
    print(c(i,j,twoexp[i]))
}}}
[1] 2 2 4
[1]  4  4 16
[1]  6  8 64
[1]   8  16 256
[1]   10   32 1024

4 读入数据 country.frame 。这是欧洲4个国家的数据。其中 GDP 代表国内生产总值, Pop 代表人口, Inflation 为 2000年的消费者物价增长指数,area 为面积, EU 代表该国家是否是为欧盟成员国。请完成下列任务:
(a) 计算人均国内生产总值并将其加入到 country.frame 中;
(b) 那个国家拥有最高的人均国内生产总值?
(c) 以变量人均 GDP 将 country.frame 排序。

5 请问 1:7 * 1:2 的结果是什么?你能解释吗?

6 请将一个数值型向量在3的倍数的位置上的元素变为这个元素的负值。

因子:

status <- factor(status, ordered=TRUE)

会将向量编码为(3, 2, 1, 3),并在内部 将这些值关联为1=Excellent、2=Improved以及3=Poor。(按首字母顺序排序)
-可以用指定levels来覆盖默认排序:

status <- factor(status, order=TRUE, levels=c("Poor", "Improved", "Excellent"))

其它小笔记

> str(a)
 num [1:8] 7.3 6.8 0.005 9 12 2.4 18.9 0.9

frame$name

上一篇 下一篇

猜你喜欢

热点阅读