精选内容/技术社群/优惠产品,尽在小程序
立即前往

「R」数据操作(三):高效的data.table

()和melt(),它们的功能更强大、性能更高,内存使用也更高效。...首先,我们仍然载入之前用到的产品数据,不过这里我们使用data.table包提供的fread()函数,它非常高效和智能,默认返回data.table。...另一个独特功能,即我们可以创建键(key),使用键获取记录及其高效。...对数据进行分组汇总 by是data.table中另一个重要参数(即方括号内的第3个参数),它可以将数据按照by值进行分组,并对分组计算第2个参数。...中,by所对应的组合中的值是唯一的,虽然实现了目标,但结果中没有设置键: key(type_class_test0) #> NULL 这种情况下,我们可以使用keyby来确保结果的data.table自动将

6.4K20

关于data.table中i, j, by都为数字的理解

写 在前面 本期还是由村长来为大家供稿,这期讲一个村长遇到的关于data.table比较有趣的问题,希望大家支持!! 问 题:i, j, by同时输入数字会怎样?...首先,我们单独看i只有一个1的情况下是什么运行结果,为了让运行出来的代码被认定是data.table的格式,我们在j中加入.SD(不清楚.SD用途的小伙伴可以查看data.table的manual,或者查看笔者上一篇推送用...可见,在DT的i中输入一个数字和用一般的提取符号`[`只输入一个数字的结果完全一样,就是提取这个数据集中的某一行。...最后,我们将j中的1添加进去,代码与结果如下: mtcars[1, 1, 1] ?...结 果分析 从这样一段拆解当中,我们大致就可以明白为什么会出现这样的结果了,整体的运行思路就是:首先选出了第一行,而后在by中以一个变量名默认为NA的变量为基准,最后在j中生成了一个默认变量名为V1的变量

1.3K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    JS 中的日期

    有格式的时间 let myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970...myDate.getSeconds(); //获取当前秒数(0-59) myDate.getMilliseconds(); //获取当前毫秒数(0-999) myDate.toLocaleDateString(); //获取当前日期...2021/7/14 myDate.toLocaleTimeString(); //获取当前时间 2021/7/14 myDate.toLocaleString( ); //获取日期与时间 2021/...7/14下午2:19:46 时间戳 new Date().getTime(); //十三位的时间戳 1626244866842 new Date().valueOf(); //十三位的时间戳 1626244866842...Date.parse(new Date()); //前两种比较推荐,这一种会将毫秒数全部转成000, 1626244862000 日期转换成时间格式 可以有参数,如果没有参数获取的是当前的时间对象 参数可以是时间字符串或者是时间戳

    23420

    Oracle 与 MySQL 的差异分析(7):日期和时间函数

    Oracle 与 MySQL 的差异分析(7):日期和时间函数 1 获取当前日期和时间 1.1Oracle Oracle 中的日期类型是带有时分秒的,获取当前时间可以用sysdate,如果要获得更高的精度可以用...查出来的结果的格式受系统参数控制,相当于做了默认的to_char 操作。 1.2 MySQL curdate():获取当前日期,不包括时分秒。 curtime():获取当前时间,不包含日期。...2 字符串和日期的转换 2.1Oracle to_date:字符串到时间的转换 to_char:时间到字符串的转换 常用的日期格式有 yyyymmddhh24miss 和yyyy-mm-dd hh24...to_char:获取日期类型的天、月、年、分、小时、秒。...3.2 MySQL MySQL中似乎没有类似Oracle的trunc函数,可以用date_format获取想要的日期格式。 extract:获取日期的一部分。

    3K22

    java中的日期类

    java中的日期类 一、日期类 1.1 第一代日期类 1.1.1 Date类 1.1.2 SimpleDateFormat类 1.2 第二代日期类Calendar 1.3 第三代日期类 1.3.1...LocalDate、LocalTime、LocalDateTime类 1.3.2 Instant类 1.3.3 DateTimeFormatter类 一、日期类 在程序的开发中我们经常会遇到日期类型的操作...1.3 第三代日期类 java8中引入的java.time纠正了过去的缺陷,这就是第三代日期API。 java8吸收了Joda-Time的精华,以一个新的开始为Java创建优秀的API。...新的java.time中包含了所有关于本地日期(LocalDate)、本地时间(LocalTime)、本地日期时间(LocalDateTime)、时区(ZonedDateTime)和持续时间(Duration...然而,这只是时间的一个模型,是面向人类的。第二种通用模型是面向计算机的,在此模型中,时间线中的一个点表示一个整数,这有利于计算机处理。

    3.6K20

    SQL中的高级日期函数

    导读 我们在工作中时常需要处理某个时间段的数据,例如: 如何求解上周的销量? 如何求解上月第一天的销售金额? 如何求解去年同期的在线人数?...这些都是涉及到具体或者以当前为参照的时间段的数据。 我们该如何从海量数据中找出准确的时间段呢?...平常我们在计算时间或推算日期时都会用到一些日期函数,大多都是些比较常见的,比如YEAR(),MONTH(),DATEADD()等等,今天给大家讲解一些比较高级的日期函数。...语法 DATEDIFF ( datepart , startdate , enddate ) 注意:返回值为startdate 与 enddate 之间的 int 差异,以 datepart 设置的边界表示...EOMONTH 作用 返回包含指定日期所在月份的最后一天(具有可选偏移量) 语法 EOMONTH ( start_date [, month_to_add ] ) 示例 显示本月的最后一天 --定义一个日期类型的变量

    17610

    MySQL 中的日期时间类型

    日期时间类型中包含以下几种数据类型: DATE TIME DATETIME TIMESTAMP YEAR 各类型都有具体的取值范围,超出或非法的其他值时,MySQL 会回退到 0。...所以,为了避免不可预测的结果,使用时还是指定全一些。 在需要使用数字的语境下,MySQL 会将日期时间自动转成数字。同理,在需要日期时间的相关操作语境下,会尝试将数字解析成日期时间。...此时 MySQL 仅仅只是不检查月分与日期的关联性,但月分的取值范围 112 及日期的取值范围 131 还是要单独各自做校验的。...但这种情况下就无法从日期相关的操作中获得到准确的结果,比如使用 DATE_SUB() 或 DATE_ADD() 函数时。...关于日期时间需要注意的点: 因为 MySQL 支持比较宽松的格式来设置日期时间,所以理论上你可以用你想用的值来做为数字之间的分界符,但使用时需要关注其解析的原理。

    6.8K20

    R语言学习笔记之——数据处理神器data.table

    然后根据自己掌握的现状选择最熟练的一套,随着时间的推移慢慢发现现有工具组合的不足,开始尝试往更加高效、简介的工具迁移,这样以需求为推动力的技能升级和迁移更为彻底和明确。...data.table 1、I/O性能: data.table的被推崇的重要原因就是他的IO吞吐性能在R语言诸多包中首屈一指,这里以一个1.6G多的2015年纽约自行车出行数据集为例来检验其性能到底如何,...“year” 航班日期——年 “month” 航班日期——月 “day” 航班日期——天 “dep_time” 航班起飞时间 “dep_delay” 航班延误时长 “arr_time...data.table列索引 列索引与数据框相比操作体验差异比较大,data.table的列索引摒弃了data.frame时代的向量化参数,而使用list参数进行列索引。...当整列和聚合的单值同时输出时,可以支持自动补齐操作。 当聚合函数与data.table中的分组参数一起使用时,data.table的真正威力才逐渐显露。 mydata[,.

    3.6K80

    CCPP中的malloc和new的差异

    差异是什么? malloc和new的差异 malloc 第一条指令是把数值4赋给寄存器edi,为后面的函数调用准备参数,详细分析见CPU里的参数传递。...第二条指令是调用malloc函数,可以猜出这是要申请4个字节大小的内存块,这样看来malloc是一个单纯的函数,输入所需的内存的大小就可以帮我们申请想要大小的内存块。...下面两条指令,第一条指令:把申请到的内存地址传递给寄存器rdi(调用构造函数也是需要传递this指针的) 完成了this指针的传递就可调用类A的构造函数了,及最后一条指令。 至此new操作全部完成。...free和delete的差异 free free是malloc的反向操作,也是一个纯函数接口。它的用途是释放归还刚才申请的内存。...delete delete是new 的反向操作,首先调用类A的析构函数 然后就可以跟free一样释放、归还类A对象所占据的内存空间。

    50010

    EXCEL中日期对应的数值如何转换为ABAP中的日期

    在开发批导程序时会从Excel中获取数据,但有些获取Excel内容的方法获取到的日期是其对应的数字 原来Excel在本质上是将日期和时间的存储为一个数字的....比如在日期时间1900-1-2 13:00在Excel中对应的数字值是2.54166666666667。 将日期所在单元格的格式改为数值就可以查看日期对应的数值。...如何将Excel中的日期时间对应的数值转换为ABAP的日期和时间呢?...由于Excel中将1900-1-1 0:00:00设置为1,而不是设置为0.这样就需要ABAP这边从1899-12-31加上excel中的日期对应的数字来获取相应的SAP中日期。...试用EXCEL期间发现,1900年2月29号被判断为正确日期,导致日期转化的时候差一天 - Microsoft Community 所以当Excel中的日期对应的数值大于59时,应该减去1.

    23220

    SQL 中的日期和时间类型

    date:日历日期,包括年(四位),月和日。 time: 一天中的时间,包括小时,分和秒。可以用变量time(p)来表示秒的小数点后的数字位数(默认是0)。 ...如果指定with timezone,则时区信息也会被存储 日期和时间类型的值可按如下方式说明: date:‘2018-01-17’ time:‘10:14:00’ timestamp:‘2018-01-...17 10:14:00.45’ 日期类型必须按照如上年月日的格式顺序指定。...我们可以利用cast e as t形式的表达式来讲一个字符串(或字符串表达式)e转换成类型t,其中t是date,time,timestamp中的一种。字符串必须符合正确的格式,像本段开头说的那样。...---- 我们可以利用extract(field from d),从date或time的值d中提取出单独的域,这里的域可是 year,month,day, hour,minute或者second中的任意一种

    3.2K60

    PHP中的日期相关函数(一

    PHP中的日期相关函数(一) 日期相关的操作函数是我们在日常的工作开发中最常接触到的功能。...这里我们给的就是通用的中国时区的设置,虽说我们的国际标准时区是东八区的北京时间,但在 PHP 中的时区格式中,我们的时区是以上海为命名的。...GMT时间与UTC时间是一致的,我们在日常的学习和工作中如果接触到了这两个名词可以将它们看做是相同的概念。...var_dump($interval->format('%y %d %h %i')); // string(7) "2 4 6 8" 输出的内容其实就是属性中对应的那些日期和时间差值。...测试代码: https://github.com/zhangyue0503/dev-blog/blob/master/php/202009/source/12.PHP中的日期相关函数(一).php 参考文档

    2.5K20

    PHP中的日期相关函数(三)

    PHP中的日期相关函数(三) 之前我们已经介绍过了 PHP 的一些相关的日期操作对象,今天我们就来学习剩下的那些面向过程的使用方式。...获取及设置时区 关于时区内容的学习,我们在 DateTimeZone 类的学习中已经详细的讲解过了,在面向过程的方式中,我们也可以通过两个简单的函数来获取和设置当前系统运行环境的时区信息。...格式化转换日期 这里的转换日期,其实就是将日期内容输出为一个详细的数组。...总结 是不是感觉又发现了很多宝藏,今天的学习中我们发现了 gettimeofday() 这个函数也可以返回微秒时间,而且还是数组格式化的,也发现了好玩的可以计算指定日期日出和日落时间的函数。...测试代码: https://github.com/zhangyue0503/dev-blog/blob/master/php/202010/source/1.PHP中的日期相关函数(三).php 参考文档

    1.9K10
    领券