如何解决不正确处理R中的日期
我正在尝试使用openair软件包中的selectByDate,但是在第二次尝试中被卡住了 我有一个
> A
date x
23 1982-08-23 0.0
24 1982-08-24 0.0
25 1982-08-25 0.0
26 1982-08-26 9.3
27 1982-08-27 0.0
28 1982-08-28 0.2
29 1982-08-29 0.0
30 1982-08-30 0.0
31 1982-08-31 0.0
32 1982-09-01 0.0
33 1982-09-02 0.2
34 1982-09-03 0.9
35 1982-09-04 4.2
36 1982-09-05 0.0
37 1982-09-06 0.0
38 1982-09-07 1.2
39 1982-09-08 0.0
40 1982-09-09 0.0
然后
> selectByDate(A,month = 9)
date x
10 1982-09-01 0.0
11 1982-09-02 0.2
12 1982-09-03 0.9
13 1982-09-04 4.2
14 1982-09-05 0.0
15 1982-09-06 0.0
16 1982-09-07 1.2
17 1982-09-08 0.0
18 1982-09-09 0.0
但带有B
16 1971-04-20 100511
17 1971-04-21 100795
18 1971-04-22 101008
19 1971-04-23 101292
20 1971-04-24 101577
21 1971-04-25 101862
22 1971-04-26 102220
23 1971-04-27 103372
24 1971-04-28 103662
25 1971-04-29 103807
26 1971-04-30 104025
27 1971-05-01 104316
28 1971-05-02 104462
29 1971-05-03 104681
30 1971-05-04 104900
31 1971-05-05 105047
我知道了
> selectByDate(B,month = 4)
Error in as.POSIXlt.default(x,tz = tz(x)) :
do not kNow how to convert 'x' to class “POSIXlt”
我是R语言的初学者,我看不出为什么会发生这种情况。有任何线索吗?
解决方法
将数据转换为as.POSIXct
类,然后尝试:
B$date <- as.POSIXct(B$date,'%Y-%m-%d')
openair::selectByDate(B,month = 4)
您还可以在R基中执行此操作:
subset(B,as.integer(format(date,'%m')) == 4)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。