2.DATA WITH R 当前工作空间中的所有对象名称可以用函数ob jects(O来查看 R可以正确地表示无穷的数值,如用nf和-Inf表示士oo,或者用NaN(非数 字)表示不是数字的值.例如 >x<-5/0 x [1]Inf exp(x) [1]Inf exp(-x) [1]0 X -x [1]NaN 下表给出了表示数据的对象的类别概览 Previous Next First Last Back Forward 14
cóm¥¤ké¶¡±^¼êobjects()5w. R±(/L«Ã¡ê, X^InfÚ-InfL«±∞, ½ö^NaN(ê i)L«Ø´êi. ~X ↑Example > x <- 5/0 > x [1] Inf > exp(x) [1] Inf > exp(-x) [1] 0 > x - x [1] NaN ↓Example eLÑ L«êâéaOVA 2. DATA WITH R Previous Next First Last Back Forward 14
2.DATA WITH R 是否允许 对象 类型 同一个对象中 有多种类型? 向量 数值型,字符型,夏数型,或逻辑型 否 因子 数值型或字符型 数组 数值型,字符型,复数型,或逻辑型 矩阵 数值型,字符型,复数型,或逻辑型 香 数据框 数值型,字符型,复数型,或逻辑型 是 时间序列(ts) 数值型,字符型,复数型,或逻辑型 否 列表 数值型,字符型,复数型,或逻辑型 是 函数,表达式… 向量是一个变量,其意思也即人们通常认为的那样:因子是一个分类变量:数组 是一个k维的数据表:矩阵是数组的一个特例,其维数k=2.注意,数组或者矩 阵中的所有元素都必须是同一种类型的:数据框是由一个或几个向量和(或)因 子构成,它们必须是等长的,但可以是不同的数据类型:“s”表示时间序列数 据,它包含一些额外的属性,例如频率和时间:列表可以包含任何类型的对象。 包括列表!对于一个向量,用它的类型和长度足够描述数据:而对其它的对象则 另需一些额外信息,这些信息由外在的属性(attribute)给出.例如我们可以引 用这些属性中的dim属性,其是用来表示对象的维数,比如一个2行2列的的矩 阵,它的dim属性是一对数值2,2],但是其长度是4.例如: Previous Next First Last Back Forward 16
´Ä#N é a. Óé¥ kõ«a.? þ ê., iÎ., Eê., ½Ü6. Ä Ïf ê.½iÎ. Ä ê| ê., iÎ., Eê., ½Ü6. Ä Ý ê., iÎ., Eê., ½Ü6. Ä êâµ ê., iÎ., Eê., ½Ü6. ´ mS(ts) ê., iÎ., Eê., ½Ü6. Ä L ê.§iÎ., Eê., ½Ü6. ´ ¼ê, Lª,... þ´Cþ, Ù¿g=<Ï~@@; Ïf´©aCþ; ê| ´kêâL; Ý ´ê|A~, Ùêk = 2. 5¿, ê|½öÝ ¥¤kÑ7L´Ó«a.; êâµ´d½AþÚ(½)Ï f¤, §7L´, ±´ØÓêâa.; /ts0L«mSê â, §¹ á5, ~XªÇÚm; L±¹?Ûa.é, )L! éuþ, ^§a.ÚÝv £ãêâ; éÙ§éK ,I &E, ù &Ed 3á5(attribute)Ñ. ~X·±Ú ^ù á5¥dimá5, Ù´^5L«éê, 'X212Ý , §dimá5´éê[2,2], ´ÙÝ´4.~X: 2. DATA WITH R Previous Next First Last Back Forward 15
2.DATA WITH R TExample X C1 C2 R113 R224 attributes(x) $dim [1]22 $dimnames $dimnames [[1]] [1]"R1""R2■ $dimnames [[2]] [1]"C1""C2 attributes(x)$dim [1]22 1Example Previous Next First Last Back Forward 16
↑Example > x C1 C2 R1 1 3 R2 2 4 > attributes(x) $dim [1] 2 2 $dimnames $dimnames[[1]] [1] "R1" "R2" $dimnames[[2]] [1] "C1" "C2" > attributes(x)$dim [1] 2 2 ↓Example 2. DATA WITH R Previous Next First Last Back Forward 16
2.DATA WITH R 类型之间可以通过as.something()形式的命令来转换.例如: Example >z<-0:9 digits<-as.character(z) digits [1]"0"1n"2”"3""4"■5”■6"■7"■8""9" as.numeric(digits)->x X [1]0123456789 mode(x) [1]"numeric" 所有对象都有一个属性:类class.可以通过函数class:来得到其类型.这个 特殊的属性被用来在R中进行面向对象的程序设计. Previous Next First Last Back Forward 17
a.m±ÏLas.something()/ª·-5=. ~X: ↑Example > z<-0:9 > digits<-as.character(z) > digits [1] "0" "1" "2" "3" "4" "5" "6" "7" "8" "9" > as.numeric(digits)->x > x [1] 0 1 2 3 4 5 6 7 8 9 > mode(x) [1] "numeric" ↓Example ¤kéÑká5: aclass. ±ÏL¼êclass5Ùa.. ù AÏá5^53R¥?1¡é§SO. 2. DATA WITH R Previous Next First Last Back Forward 17
2.DATA WITH R 2.2 Reading data in a file R使用工作目录(working directory)来完成读写文件.可以使用命令getwd()和 setwd(O来获得和设定工作目录,例如 setwd("C:/data")setwd("/home/paradis/R") TCode 1Code R可以使用函数read.table(有好几种变体形式),scan and read.fwf来进 行读取txt(ASCI)文件中的数据.命令 mydata <-read.table("data.dat") TCode 1Code 从当前工作目录中的文件data.dat中读取数据,创建一个名为nydata的类型 为数据框的对象.函数read.table有很多参数: 使用?read.table 来了解各个参数的 含刘 read.table(file,header FALSE,sep =""quote ="\"'" dec ".",row.names,col.names,as.is FALSE, Previous Next First Last Back Forward 18
2.2 Reading data in a file R¦^ó8¹(working directory)5¤Ö©. ±¦^·- getwd()Ú setwd()5¼Ú½ó8¹, ~X ↑Code setwd("C:/data") ½ösetwd("/home/paradis/R") ↓Code R ±¦^¼êread.table(kÐA«CN/ª), scan and read.fwf 5? 1Ötxt (ASCII)©¥êâ. ·- ↑Code > mydata <- read.table("data.dat") ↓Code lcó8¹¥©data.dat¥Öêâ, Mï¶mydataa. êâµé. ¼êread.tablekéõëê: [¦^?read.table 5 )ëê ¹Â] ↑Code read.table(file, header = FALSE, sep = "", quote = "\"’", dec = ".",row.names, col.names, as.is = FALSE, 2. DATA WITH R Previous Next First Last Back Forward 18