R3—日期处理
一. 问题引入
下面是一个房地产价格数据,现在想要提取2008年6月份的数据进行分析,在R中该如何操作呢?
city price bedrooms squarefeet lotsize latitude longitude month
1 San Francisco 1470000 3 2424 NA 37.75651 -122.4469 2008-06-01
2 San Francisco 385000 0 1304 2143 37.71010 -122.4216 2009-06-01
3 San Francisco 1043000 2 1400 NA 37.77984 -122.3928 2009-06-01
4 San Francisco 560000 2 1149 NA 37.78696 -122.4225 2009-01-01
5 San Francisco 419000 NA NA NA 37.78696 -122.4225 2008-03-01
6 San Francisco 552000 NA NA NA 37.78430 -122.3909 2009-03-01
# 这里就涉及到R的日期处理方法!
二. R日期处理方法简介
# 1)取出当前日期
> Sys.Date()
[1] "2015-04-20"
> date()
[1] "Mon Apr 20 15:46:32 2015"
#2)字符串转化为日期
as.Date()可以将一个字符串转换为日期值,默认格式是yyyy-mm-dd。
##在R中,日期类型其实是double类型,实际存储的是从1970年1月1日以来的天数!
> as.Date('2015-4-20') ##得到"2007-02-01",显示为字符串,但实际是用double存储的!
>as.double(as.Date("1970-01-01")) #结果为0,是从1970年1月1日以来的天数。## 可以把定制的日期字符串转换为日期型
> as.Date("2015年4月20日", "%Y年%m月%d日")
[1] "2015-04-20"
#3)日期转化为字符串
> today <- Sys.Date()
> format(today, "%Y年%m月%d日")
[1] "2015年04月20日"
$4)计算日期差
由于日期内部是用double存储的天数,所以是可以相减的。
> today<-Sys.Date()
> age30<- as.Date("2020-01-01")
> age30-today
Time difference of 1717 days
@@@离我30岁只有1717天了啊!
##用difftime()函数可以计算相关的秒数、分钟数、小时数、天数、周数
difftime(today, age30, units="weeks") #还可以是“secs”, “mins”, “hours”, “days”
> difftime(today, age30, units="weeks")
Time difference of -245.2857 weeks
三. 需求解答
> dat<-subset(x = dat,subset =(as.double(as.Date(dat$month))>=14031 & as.double(as.Date(dat$month))<=14060)) #as.Date将字符型month转化成日期型,as.double转化成double型!
> head(dat)
city price bedrooms squarefeet lotsize latitude longitude month
1 San Francisco 1470000 3 2424 NA 37.75651 -122.4469 2008-06-01
24 San Francisco 815000 NA NA NA 37.74917 -122.4500 2008-06-01
29 San Francisco 548000 2 1100 1792 37.71153 -122.4623 2008-06-01
33 San Francisco 400000 NA NA NA 37.79035 -122.4126 2008-06-01
59 San Francisco 1795000 3 1028 NA 37.80241 -122.4186 2008-06-01
88 San Francisco 2300000 10 6600 2738 37.77007 -122.4320 2008-06-01
R3—日期处理的更多相关文章
- atitit.日期,星期,时候的显示方法ISO 8601标准
atitit.日期,星期,时候的显示方法ISO 8601标准 1. ISO 86011 2. DAte日期的显示1 2.1. Normal1 2.2. 顺序日期表示法(可以将一年内的天数直接表示)1 ...
- 使用指定格式的字符串变量格式化日期字符串,DateAndTime取时间间隔
private void btn_GetTime_Click(object sender, EventArgs e) { lab_time.Text = DateTime.Now.ToString(& ...
- 建议大家使用Java 8 的日期、时间,而非java.util.Date
建议大家使用Java 8 的日期.时间,而非java.util.Date. 详细原因见:如何在Java 8中愉快地处理日期和时间 总结一下就是, java.util.Date 太乱,如 月份从0开始. ...
- NSIS限制程序运行次数和使用日期
#七八年前写着玩的小东西,实际用途不大,但对刚接触nsis的新手来说应该还有一些帮助,包括创建控件,获取系统时间等,与诸位共勉! !system '>blank set/p=MSCF<nu ...
- 日期格式代码出现两次的错误 ORA-01810
错误的原因是使用了两次MM . 一.Oracle中使用to_date()时格式化日期需要注意格式码 如:select to_date('2005-01-01 11:11:21','yyyy-MM-dd ...
- 一起学微软Power BI系列-使用技巧(5)自定义PowerBI时间日期表
1.日期函数表作用 经常使用Excel或者PowerBI,Power Pivot做报表,时间日期是一个重要的纬度,加上做一些钻取,时间日期函数表不可避免.所以今天就给大家分享一个自定义的做日期表的方法 ...
- excel 日期/数字格式不生效需要但双击才会生效的解决办法
原因: Excel2007设置过单元格格式后,并不能立即生效必须挨个双击单元格,才能生效.数据行很多.效率太低. 原因:主要是一些从网上拷贝过来的日期或数字excel默认为文本格式或特殊-中文数字格式 ...
- Jquery mobiscroll 移动设备(手机)wap日期时间选择插件以及滑动、滚动插件
Jquery Mobiscroll是一个用于触摸设备(Android phones, iPhone, iPad, Galaxy Tab)的日期和时间选择器jQuery插件.以及各种滑动插件 可以让用户 ...
- C# DateTime日期格式化
在C#中DateTime是一个包含日期.时间的类型,此类型通过ToString()转换为字符串时,可根据传入给Tostring()的参数转换为多种字符串格式. 目录 1. 分类 2. 制式类型 3. ...
随机推荐
- lintcode-473-单词的添加与查找
473-单词的添加与查找 设计一个包含下面两个操作的数据结构:addWord(word), search(word) addWord(word)会在数据结构中添加一个单词.而search(word)则 ...
- SSM整合CRUD操作(一)
http://www.cnblogs.com/loger1995/p/6352179.html?utm_source=itdadao&utm_medium=referral 说明:这是我刚开始 ...
- 树形结构的数据库表Schema设计-基于左右值编码
树形结构的数据库表Schema设计 程序设计过程中,我们常常用树形结构来表征某些数据的关联关系,如企业上下级部门.栏目结构.商品分类等等,通常而言,这些树状结构需要借助于数据库完 成持久化.然而目前的 ...
- mysql导出/导入表结构以及表数据
导出: 命令行下具体用法如下: mysqldump -u用戶名 -p密码 -d 数据库名 表名 脚本名; 1.导出数据库为dbname的表结构(其中用戶名为root,密码为dbpasswd,生成的脚 ...
- 第193天:js---Math+Error+Number+Object总结
一.Math 随机选取 //随机选取 function getRandom (begin,end){ return Math.floor(Math.random()*(end-begin))+begi ...
- SpingCloud之feign框架调用
1.生产者(没有什么特殊性) pom.xml <?xml version="1.0" encoding="UTF-8"?> <project ...
- java 类的强制转型
- 部分NodeJs
一.cnmp的操作: 1.cnmp info jquery查询jquery的版本: 2.cnmp install jquery@1.11.1:安装: 3.cnmp list查询所有下载的内容: 4.c ...
- 【交换机在江湖】第十三章 VLAN划分篇
江湖各位大侠重温了VLAN的基础知识,是否想过4094个VLAN可以怎样划分,哪种方式又是好用简单的?细心的小编特地整理了一番,给各位大侠把玩把玩. VLAN划分的方式: Ø 基于接口划分VLAN: ...
- redis的数据持久化存储
Redis是一个支持持久化的内存数据库,也就是说redis需要经常将内存中的数据同步到硬盘来保证持久化.Redis支持两种持久化方式: 一.snapshotting(快照)方式快照是默认的持久化方式. ...