zoukankan      html  css  js  c++  java
  • R-data.table

    data.table可以扩展和增强data.frame的功能,在分组操作和组合时访问速度更快。

    require(data.table)
    theDT = data.table(A=1:10, B=letters[1:10], C=letters[11:20], D=rep(c("one", "two", "three"), length.out=10))
    # data.frame会将字符型数据转化为factor,而data.table不会,这里仍是character
    class(theDT$B)
    library(ggplot2)
    # 将data.frame数据转化为data.table
    diamondsDT = data.table(diamonds)

    # 访问方法类似,但是以下两种才能返回列向量
    theDT[,list(A, C)]
    theDT[, c("A", "C"), with=FALSE]
    # 只返回一行,数据的结构性被破坏
    theDT[, c(A, C)]

    data.table一个重要特性是可以设置指针,设置了之后,可以用指针的值来访问行数据。

    可以通过tables()查看当前所有data.table的信息;可以用key(tableName)查看已经设置的指针key

    # D没引号
    setkey(theDT, D)
    # 可以将多个列设为指针
    setkey(diamondsDT, cut, color)
    # Ideal是cut的取值,E,D是color的取值
    diamondsDT[J("Ideal", c("E", "D")), ]

    汇总数据:这里是按照cut和color汇总(先以cut分,同一cut下再按color分),汇总的方法是对price取均值,对carat取总和

    使用list的地方也可以是单个变量,总之非常灵活。

    diamondsDT[, list(price=mean(price), caratSum=sum(carat)), by=list(cut,color)]
    

      

  • 相关阅读:
    ElasticSearch--------->附录------->curl------->附录一:下载、安装、配置cURL
    ElasticSearch--------------------->step2,了解elasticsearch相关的基本概念
    1. anaconda安装与配置
    js 浮点型数据运算
    2.0 VMware安装教程
    2.2 es6之Promise对象
    代理模式
    oracle原始对象
    锁理论
    策略模式
  • 原文地址:https://www.cnblogs.com/pxy7896/p/6771367.html
Copyright © 2011-2022 走看看