zoukankan      html  css  js  c++  java
  • 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语句操作数据框



     










     



     

  • 相关阅读:
    liunx 利用管道线kill多个进程
    将多个学生平均分配到多个学校的方法示例
    mysql 根据查询条件进行update
    Mysql 使用临时表比较数据差异以及 临时表的优化
    Netcore 将汉字转化为拼音
    mysql 清除多列重复数据,只保留其中一条
    使用Mysql 存储过程和游标进行同步数据
    Culture is not supported. (Parameter 'name') u0002� is an invalid culture identifier.
    Swagger 过滤特定控制器配置方法(Swashbuckle.AspNetCore 5.0.0)
    System.Linq Distinct 方法使用
  • 原文地址:https://www.cnblogs.com/yaofang/p/5513094.html
Copyright © 2011-2022 走看看