02.07.2013 Views

现代统计图形 - 科学网—博客

现代统计图形 - 科学网—博客

现代统计图形 - 科学网—博客

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

A.3 习题 161<br />

• while(cond) expr<br />

cond为条件(其计算结果为逻辑值TRUE或FALSE),expr为一段要执行的代<br />

码,通常放在大括号{}中,除非代码只有一行。<br />

选择结构的函数还有ifelse()和swith(),请读者自行查阅帮助文件。关于<br />

选择和循环,这里仅给出一个简单的综合示例,不再详加说明:<br />

1 > # x初始为空<br />

2 > x = NULL<br />

3 > for (i in 1:10) {<br />

4 + rnd = rnorm(1)<br />

5 + # 如果随机数在[-1.65, 1.65]范围内则放到x中去<br />

6 + if (rnd < 1.65 & rnd > -1.65)<br />

7 + x = c(x, rnd)<br />

8 + }<br />

9 > x<br />

[1] -0.5962 -0.7694 0.3263 -0.2106 1.6465 0.3494 0.5809<br />

[8] 0.7325 -0.5273 -0.8510<br />

A.2.2 输入与输出<br />

对于统计程序来说,输入的一般是数据,而输出一般是图形和表格,<br />

它们在R中都容易实现。前者可以参考read.table()系列函数,后者则可以使<br />

用图形设备(附录B.5)以及write.table()系列函数。具体使用方法请查阅这<br />

些函数的帮助文件。<br />

A.3 习题<br />

1. 绝对离差中位数(Median Absolute Deviation,MAD) 2 :MAD是<br />

对数据分散程度的一种刻画,它的定义为MAD(x) = C · median(|x −<br />

median(x)|),其中C是一个给定的常数,通常取值为1/qnorm(.75);<br />

若原数据服从正态分布,MAD将是标准差的一个渐近估计。编写函<br />

数计算数据women$height的绝对离差中位数,并与R自带的mad()函数<br />

作比较;若有兴趣,请欣赏mad()函数的源代码(如何将程序写得安全<br />

而简练)。<br />

2 本题源于COS会员statsgirl的提问:http://cos.name/cn/topic/101087

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!