楼主: 張攻
13404 6

[问答] R 的日期格式 如何修改与设定? +时间序列的问题 [推广有奖]

  • 0关注
  • 0粉丝

小学生

50%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
49 点
帖子
5
精华
0
在线时间
6 小时
注册时间
2013-2-28
最后登录
2016-11-24

楼主
張攻 发表于 2013-2-28 00:14:13 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

R 的日期格式 如何修改与设定?

想请问如何更改R读取日期的格式  (我是R的新手..)

数据是这样的形式, 因为需要做时间序列分析, 但不知道怎么用

dd.mm.yy  下面的数据没有最上面的字段,所以读入R,

系统自动给了V1~V5的变量

资料笔数,V1     , V2     , V3 ,V4    V5

122257 16.03.2001 15:06:43 0.8956 0.8961 BCIX

122258 16.03.2001 15:06:43 0.8955 0.8959 INGX

122259 16.03.2001 15:06:45 0.8956 0.8959 ALFN

122260 16.03.2001 15:06:47 0.8955 0.8958 MPSW

122261 16.03.2001 15:06:47 0.8955 0.8957 ISBR

122262 16.03.2001 15:06:48 0.8954 0.8959 RAB1

122263 16.03.2001 15:06:48 0.8954 0.8959 BHFX

122264 16.03.2001 15:06:49 0.8955 0.8957 SGOX

有查了网络的数据 类似的作法是

> # date and time

> ## read in date/time info in format ’m/d/y h:m:s’

> x.dates<-c("02/27/92", "02/27/92","01/14/92")

> x.times<-c("23:03:20", "22:29:56","01:03:30")

> x.datetime <- paste(x.dates, x.times)

> strptime(x.datetime, "%m/%d/%y %H:%M:%S")

[1] "1992-02-27 23:03:20""1992-02-27 22:29:56" "1992-01-14 01:03:30"

然而改写成 这个数据的格式却变成

> x.dates<-c("17.03.2001", "16.03.2001","15.03.2001")

>  x.times<-c("23:39:15","23:50:00", "22:23:43")

> x.datetime <- paste(x.dates, x.times)

> strptime(x.datetime, "%m.%d.%y%H:%M:%S")

[1] NA NA NA

不知道是哪里出了问题

附件的图片是选取V5字段中的BCIX plot出来的图, Time的地方很有问题...

希望各位能帮帮忙,感激不尽


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:时间序列 datetime format 时间序列分析 Times 如何 资料

2013-02-28_000428.png (44.06 KB)

2013-02-28_000428.png

沙发
marshallpku 发表于 2013-2-28 05:16:31
楼主看看是不是这样,你找到的例子中日期格式是 月/日/年, 于是对应的格式 %m/%d/%y
而你的数据中日期格式是 日.月.年,所以日和月的顺序应该与例子中的不同,试试改为 %d.%m.%y 行不行

藤椅
張攻 发表于 2013-2-28 08:56:25
marshallpku 发表于 2013-2-28 05:16
楼主看看是不是这样,你找到的例子中日期格式是 月/日/年, 于是对应的格式 %m/%d/%y
而你的数据中日期格式 ...
谢谢,但还是不行

板凳
marshallpku 发表于 2013-2-28 09:21:59
你的%m.%d.%y 和 %H:%M:%S 之间有空格么,paste 默认加个空个在中间的

报纸
張攻 发表于 2013-2-28 09:49:57
marshallpku 发表于 2013-2-28 09:21
你的%m.%d.%y 和 %H:%M:%S 之间有空格么,paste 默认加个空个在中间的
貌似不是这个问题因为
> x.dates<-c("27.02.93", "27.02.92", "14.01.92")
> x.times<-c("23:03:20", "22:29:56", "01:03:30")
> x.datetime <- paste(x.dates, x.times)
> strptime(x.datetime, "%d.%m.%y %H:%M:%S")
[1] "1993-02-27 23:03:20" "1992-02-27 22:29:56" "1992-01-14 01:03:30"

但将93改成1993后就变成
> x.dates<-c("27.02.1993", "27.02.1992", "14.01.1992")
> x.times<-c("23:03:20", "22:29:56", "01:03:30")
> x.datetime <- paste(x.dates, x.times)
> strptime(x.datetime, "%d.%m.%y %H:%M:%S")
[1] NA NA NA

地板
zhangyangsmith 发表于 2013-2-28 20:59:29
Change last line of your code into:
  1. strptime(x.datetime, "%d.%m.%Y %H:%M:%S")
复制代码

7
fan19889017 发表于 2014-5-28 10:29:42
楼上正解,%y,对应两位数年份,%Y,对应四位数年份

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-5 20:47