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

      

  • 相关阅读:
    C语言I博客作业06
    C语言I博客作业05
    C语言I博客作业04
    C语言I博客作业03
    C语言I博客作业02
    作业01
    java ui 点点记
    eclipse修改workspace目录
    postgres恢复
    JDK1.4和JDK1.5以及1.6
  • 原文地址:https://www.cnblogs.com/pxy7896/p/6771367.html
Copyright © 2011-2022 走看看