一. 问题引入

下面是一个房地产价格数据,现在想要提取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—日期处理的更多相关文章

  1. atitit.日期,星期,时候的显示方法ISO 8601标准

    atitit.日期,星期,时候的显示方法ISO 8601标准 1. ISO 86011 2. DAte日期的显示1 2.1. Normal1 2.2. 顺序日期表示法(可以将一年内的天数直接表示)1 ...

  2. 使用指定格式的字符串变量格式化日期字符串,DateAndTime取时间间隔

    private void btn_GetTime_Click(object sender, EventArgs e) { lab_time.Text = DateTime.Now.ToString(& ...

  3. 建议大家使用Java 8 的日期、时间,而非java.util.Date

    建议大家使用Java 8 的日期.时间,而非java.util.Date. 详细原因见:如何在Java 8中愉快地处理日期和时间 总结一下就是, java.util.Date 太乱,如 月份从0开始. ...

  4. NSIS限制程序运行次数和使用日期

    #七八年前写着玩的小东西,实际用途不大,但对刚接触nsis的新手来说应该还有一些帮助,包括创建控件,获取系统时间等,与诸位共勉! !system '>blank set/p=MSCF<nu ...

  5. 日期格式代码出现两次的错误 ORA-01810

    错误的原因是使用了两次MM . 一.Oracle中使用to_date()时格式化日期需要注意格式码 如:select to_date('2005-01-01 11:11:21','yyyy-MM-dd ...

  6. 一起学微软Power BI系列-使用技巧(5)自定义PowerBI时间日期表

    1.日期函数表作用 经常使用Excel或者PowerBI,Power Pivot做报表,时间日期是一个重要的纬度,加上做一些钻取,时间日期函数表不可避免.所以今天就给大家分享一个自定义的做日期表的方法 ...

  7. excel 日期/数字格式不生效需要但双击才会生效的解决办法

    原因: Excel2007设置过单元格格式后,并不能立即生效必须挨个双击单元格,才能生效.数据行很多.效率太低. 原因:主要是一些从网上拷贝过来的日期或数字excel默认为文本格式或特殊-中文数字格式 ...

  8. Jquery mobiscroll 移动设备(手机)wap日期时间选择插件以及滑动、滚动插件

    Jquery Mobiscroll是一个用于触摸设备(Android phones, iPhone, iPad, Galaxy Tab)的日期和时间选择器jQuery插件.以及各种滑动插件 可以让用户 ...

  9. C# DateTime日期格式化

    在C#中DateTime是一个包含日期.时间的类型,此类型通过ToString()转换为字符串时,可根据传入给Tostring()的参数转换为多种字符串格式. 目录 1. 分类 2. 制式类型 3. ...

随机推荐

  1. 软件图书,偏.net方向

    深入理解计算机系统(原书第2版) 作者:Randal E.Bryant:1981年在麻省理工学院获计算机科学博士学位,现任美国卡内基·梅隆大学计算机学院院长 内容: 深入浅出地介绍了处理器.编译器.操 ...

  2. 求最大子串和以及其中一个子串(java)

    public static void getMaxSum(int[] a){ int max = a[0]; int sum = a[0]; int temp = 0; int start = 0; ...

  3. FTP渗透测试

    在这篇文章中,我们将学习如何在CentOS机器配置ProFTPD的服务.之后,我们将进行渗透测试,以评估FTP服务的安全性,那么我们也将学习漏洞的对策. 在CentOS Linux机器的安装和配置FT ...

  4. linux mysql表名大小写

    1.用ROOT登录,修改/etc/my.cnf 2.在[mysqld]下加入一行:lower_case_table_names=1 0:区分大小写,1:不区分大小写 3.重新启动数据库即可

  5. WebUploader 设置单个文件上传

    1.导入控件样式文件 <link rel="stylesheet" type="text/css" href="__PUBLIC__/stati ...

  6. ZOJ2725_Digital Deletions

    题意是这样的,一开始给你一串数字,两个人轮流操作,操作可以分为两种. 1.每次修改一个数字,使其变为一个小于当前的非负数. 2.移除中间的某一个0以及0右边的所有数字. 使得所有数字消失的游戏者获胜. ...

  7. Django 2.0 学习(16):Django ORM 数据库操作(下)

    Django ORM数据库操作(下) 一.增加表记录 对于表单有两种方式: # 方式一:实例化对象就是一条表记录france_obj = models.Student(name="海地&qu ...

  8. 中小型园区网络的基本部署之动手划分vlan

    在计算机网络中,一个二层网络可以被划分为多个不同的广播域,一个广播域对应了一个特定的用户组,默认情况下这些不同的广播域是相互隔离的.不同的广播域之间想要通信,需要通过一个或多个路由器.这样的一个广播域 ...

  9. Luogu 4917 天守阁的地板(莫比乌斯反演+线性筛)

    既然已经学傻了,这个题当然是上反演辣. 对于求积的式子,考虑把[gcd=1]放到指数上.一通套路后可以得到∏D∏d∏i∏j (ijd2)μ(d) (D=1~n,d|D,i,j=1~n/D). 冷静分析 ...

  10. C++解析(3):布尔类型与三目运算符

    0.目录 1.布尔类型 2.三目运算符 3.小结 1.布尔类型 C++中的布尔类型: C++在C语言的基本类型系统之上增加了bool C++中的bool可取的值只有true和false 理论上bool ...