• 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:这里表示第一个变量不取……

  • 相关阅读:
    链家新房爬虫
    豆瓣电影爬虫
    电影天堂爬虫
    数组、数组和集合的区别
    Profile小试
    SQL中的case when使用小例
    使用AVAudioPlayer播放网络音乐
    播放器
    全排列问题
    由while(scanf("%d",&n)!=EOF)引出的小问题
  • 原文地址:https://www.cnblogs.com/weibaar/p/4021199.html
Copyright © 2020-2023  润新知