02.07.2013 Views

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

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

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

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

A.1 对象类型 153<br />

注意逻辑值的TRUE和FALSE可以简写为T和F,但强烈建议这两个逻辑值<br />

不要使用简写 1 。我们也可以用逻辑向量提取向量的元素,如:<br />

1 > # 满足“非z”的元<br />

2 > x[!z]<br />

A B C<br />

7.11 9.11 9.19<br />

R中有三种特殊的值:缺失值NA,非数值NaN和无穷大/无穷小Inf/-<br />

Inf。非数值通常由无意义的数学计算产生,如0/0;注意分子不为0而分母<br />

为0时,结果是无穷大。<br />

A.1.2 因子<br />

因子(factor)对应着统计中的分类数据,它的形式和向量很相像,只<br />

是因子数据具有水平(level)和标签(label),前者即分类变量的不同取<br />

值,后者即各类取值的名称。<br />

因子型数据可以由factor()函数生成,如:<br />

1 > (x = factor(c(1, 2, 3, 1, 1, 3, 2, 3, 3), levels = 1:3,<br />

2 + labels = c("g1", "g2", "g3")))<br />

[1] g1 g2 g3 g1 g1 g3 g2 g3 g3<br />

Levels: g1 g2 g3<br />

我们可以对因子型数据求频数、将其转化为整数或字符型向量。注意<br />

整数是因子型数据的本质:它本身以整数存储,但表现出来是字符,原理<br />

就是把整数对应的标签显示出来,这种存储方式在很多情况下可以大大节<br />

省存储空间(存整数往往比存字符串占用空间小)。<br />

1 > table(x)<br />

x<br />

g1 g2 g3<br />

3 2 4<br />

1 > as.integer(x)<br />

1 倾向简写这两个逻辑值的人容易倾向简写任何字符,比如变量名;据作者的经验,很多人的程序出错<br />

就在这里,因为使用了T或F作为变量名,而在程序的某些地方又将T或F作为逻辑值对待,如这段条件语<br />

句x = 1; T = NULL; ...; if ((x > 0) == T ) ...会出错,因为条件(x > 0) == T返回的结果是长<br />

度为0的逻辑值,不符合if语句的要求。

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

Saved successfully!

Ooh no, something went wrong!