首页 > 代码库 > R入门<三>-R语言实战第4章基本数据管理摘要

R入门<三>-R语言实战第4章基本数据管理摘要

入门书籍:R语言实战

进度:1-4章

摘要:

1)实用的包

forecast:用于做时间序列预测的,有auto.arima函数

RODBC:可以用来读取excel文件。但据说R对csv格式适应更加良好,相应的导入导出均较为方便(read.table, write等)

reshape:目前用到rename函数,可以方便的对数据变量重命名

fCalendar:在日期输入处提及,据说对日期运算有奇效,但无具体示例。同理如lubridate

sqldf:在数据选取处提及,可代替subset以及各种where,即sql语句

 

2)数据导入

data.frame(变量1,变量2,变量3)

attach/detach:一套使用,不必重复输入数据框,直接输入变量名即可定位/同理还有with

read.table(文件路径,header=TRUE,sep=","):这里sep为分隔符

 

3)数据处理

is.na:判断缺失值是否存在

transform: 在按需创建新变量,并保存到数据框时,可用。举例如

mydata<-transform(mydata,                            sumx=x1+x2,                            meanx=(x1+x2)/2)

逻辑运算符:见P68,内有!=,不等于,!x非x等等

变量分组赋值重编码:先把所有数值赋值为NA,然后逐个判断,并赋予新值

test<-within(数据,{                            agecat<-NA                            agecat[age>75]<-"Elder"                            agecat[age>=55 & age <=76]<-"Middle")                            }

within:如上例用于赋值,与with类似但允许修改数据框,另外有提及recode,recodevar等充电吗

fix(数据):直接弹出交互式编辑器,可编辑数据

rename:用于重命名,reshape包

is.na:用于判断缺失值是否存在,缺失值为TRUE,非缺失值为FALSE(不能用==比较,因为默认缺失值不可比较)

na.rm=TRUE:用于在sum/avg等计算中,如果有缺失值时,忽略缺失值。否则函数会报错

na.omit:用于删除包含缺失值的行,一般数据量小时不建议使用

as.Date:表示将要输入的数据是日期,默认为yyyy-mm-dd,但可通过format(具体见P73)修改,举例如:

mydata《-as.Date("2014-10-12")myformat<-"%m/%d/%y"date<-as.Date(日期型变量,myformat直接引用之前的变量)

Sys.Date():输入当天日期;

Date():输入当前时间‘

format(x,format=输入的日期):指定输入什么日期

difftime():计算时间间隔

1 today<-Sys.Date()2 born<-as.Date("1999-11-11")3 difftime(today,born,units="weeks"/"days"/"hours"/"months"...)

is/as.datetype:判断,生成某个数据类型,如numeric, vector, logical等

order:数据排序,结合attach使用

merge():用by=变量名,来指定合并对象。这里NA影响很大,具体看帮助里的实例,可用incomparables去掉不要的观测值

cbind:不管其他,直接横向连接

rbind:总想合并,必须拥有相同的变量,顺序可以不一样

然后有提及一堆子集选取,但最好的是

subset/sqldf:用于数据提取。见P79-80

另外:

1:50,表示从第一个变量取到第50个变量

1-50:这里表示第一个变量不取……

R入门<三>-R语言实战第4章基本数据管理摘要