入门书籍: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():计算时间间隔
today<-Sys.Date()
born<-as.Date("1999-11-11")
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:这里表示第一个变量不取……