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)]
    

      

  • 相关阅读:
    lms框架服务注册中心
    lms框架应用服务接口和服务条目详解
    lms框架模块详解
    lms微服务框架主机介绍
    lms框架分布式事务使用简介
    MySQL锁总结
    VSCode 输出 java SSL 请求过程
    PowerShell自动化发布SpringBoot项目到Tomcat
    AWS EC2 使用---安装Docker和Nginx
    使用PowerShell连接到Linux
  • 原文地址:https://www.cnblogs.com/pxy7896/p/6771367.html
Copyright © 2011-2022 走看看