R-基本数据管理-ch4

1、创建新变量

     新变量<-表达式,表达式中会涉及到算数运算符,+-*/^

2、变量的重编码

对满足条件的赋值:语句variable[condition] <- expression将仅在condition的值为TRUE时执行赋值。

在此用到函数within(),与函数with()类似(见2.2.4节),不同的是它允许你修改数据框。

3、变量的重命名

有三种方法:

(1)用函数fix(数据框)调用一个交互式编辑器,单击变量名修改

 (2)使用reshape包中有一个rename()函数,可用于修改变量名。rename()函数的使用格式为

 (3)通过names()函数来重命名变量。例如:

4、缺失值

缺失值以符号NA(Not Available,不可用)表示;

不可能出现的值(例如,被0除的结果)通过符号NaN(Not a Number,非数值)来表示。

函数is.na()用于检测缺失值是否存在。is.na()函数作用于一个对象上,则它返回一个相同大小的对象,如果某个元素是缺失值,相应的位置将被改写为TRUE,不是缺失值的位置则为FALSE。

注:缺失值被认为是不可比较的,即便是与缺失值自身的比较。这意味着无法使用比较运算符来检测缺失值是否存在。例如,逻辑测试myvar == NA的结果永远不会为TRUE。

(1)重编码某些值为缺失值:

(2)在分析中排除缺失值:

方法一:在使用函数处理不完整的数据时,请务必查阅它们的帮助文档(例如,help(sum)),检查这些函数是如何处理缺失数据的。好在多数的数值函数都拥有一个na.rm=TRUE选项,可以在计算之前移除缺失值并使用剩余值进行计算。如:

方法二:通过函数na.omit()移除所有含有缺失值的观测,该函数可以删除所有含有缺失数据的行。

方法三:第15章中探索若干更为复杂精妙的缺失值处理方法。

5、日期值

日期值通常以字符串的形式输入到R中,然后转化为以数值形式存储的日期变量:

函数as.Date()用于执行这种转化,其语法为as.Date("x", "input_format"),其中x是字符型数据,input_format则给出了用于读入日期的适当格式,其的默认输入格式为yyyy-mm-dd。

函数Sys.Date()返回当天的日期;

函数date()返回当前的日期和时间;

函数format(x, format="output_format")用来输出指定格式的日期值,并且可以提取日期值中的某些部分(月、周、星期等)。该函数接受一个参数x并按某种个数输出结果。

函数difftime()用来计算时间间隔。日期值可以执行算数运算的原因是R存储的日期是用自1970年1月1日以来的天数表示的。

例子:如何把日期为yyyy-mm-dd格式转化为mm/dd/yy

首先把输入的字符型日期转化为数值型日期,然后再用format()函数

(1)将日期转换为字符型变量

不太常用。使用函数as.character()

(2)更进一步

进行复杂的日期和时间处理,可使用lubridate包。了解更多日期的细节可以查看?as.date  ?strftime   ?ISOdatetime

6、类型转换



7、数据排序

使用order()函数对一个数据框进行排序。默认的排序顺序是升序,在排序变量的前边加一个减号即可得到降序的排序结果。

8、数据集的合并

向数据框中添加列(变量)和行(观测)

(1)添加列

merge()函数在多数情况下,两个数据框是通过一个或多个共有变量进行联结的(即一种内联结,inner join)。横向联结通常用于向数据框中添加变量,格式为:

(2)添加行

rbind()函数

例子:

9、数据集取子集

(1)选入(保留)变量

以下例子是针对数据框的子集选取:

(2)剔除(丢弃)变量

方法一:

方法二:

 

 (3)选入观测

从数据框total2中选出年龄大于20且是女性的观测值:

拆分看

(4)subset()函数

以上(1)-(3)的方法都可以用subset()函数代替,例子如下:

筛选出年龄大于20的女性,保留变量gender和sale。

(5)随机抽样

更全和复杂的抽样工具是sampling包和survey包

10、使用SQL语句操作数据框

 

 



 

 










 



 

 

posted on 2016-05-26 18:49  evayao  阅读(316)  评论(0编辑  收藏  举报

导航