作者tony1331 (BLUE)
看板R_Language
标题[问题] 资料筛选(日期问题)
时间Thu Sep 21 15:39:13 2017
[问题类型]:
(我想用R 做某件事情,但是我不知道要怎麽用R 写出来)
[软体熟悉度]:
(没写过程式,R 是我的第一次)s
[问题叙述]:
http://i.imgur.com/woqwvM1.jpg
Table有一栏是时间,假设是7-8月的资料,
请问如果我只想要1点到2点的资料该如何写
(不管日期 只要1点到2点)
谢谢~
-----
Sent from JPTT on my Asus ASUS_Z012DA.
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 223.141.61.125
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1505979556.A.BE3.html
1F:推 cd12631: 把日期和时间切开各一栏 然後筛选时间 09/21 16:18
2F:推 s3714443: 用lubridate看看? 09/21 18:31
3F:→ clansoda: 用data.table最快 09/21 20:33
4F:→ clansoda: dt[between(hour(time), 0, 3, incbounds = FALSE)] 09/21 20:35
5F:→ clansoda: 我直接写在PTT上的,有错的话应该是括号逗号之类的错了 09/21 20:35
6F:→ clansoda: 喔 上面那个3要改成2 09/21 20:35
8F:→ clansoda: 你有日期的type吗? 我其实不太熟R的datetype 09/21 23:26
9F:→ clansoda: 你的是字串? 09/21 23:26
10F:推 clansoda: 因为hour要POXITlt才能跑,他转不过去我不知道你的 09/21 23:33
11F:→ clansoda: datatype 你可能要class看看 09/21 23:33
12F:推 tan800630: 看字串形式的话 直接as.POSIXct(x) 试试? 09/21 23:35
13F:→ celestialgod: 直接regular expression取00:xx:xx或是01:xx:xx的格 09/22 08:39
14F:→ celestialgod: 式就好了,没几行 09/22 08:39
15F:→ celestialgod: dat[grepl('0[01]:\\d{2}:\\d{2}',dat$time),] 09/22 08:41
16F:→ obarisk: package lubridate 09/22 12:35
18F:→ obarisk: nettes/lubridate.html 09/22 12:35
19F:→ obarisk: dat %>% mutate(hr=hour(ymd_hms(datecol))) %>% filter( 09/22 12:37
20F:→ obarisk: hr==1) 09/22 12:37
21F:→ celestialgod: 本身就是字串还是回归字串处理吧XDD,感觉原po也不 09/22 18:44
22F:→ celestialgod: 熟转型 09/22 18:44
23F:→ clansoda: 重点是他人不见了吧,只要把字串转完剩下的都差不多 09/22 19:03
24F:→ tony1331: 不好意思哦,有点忙,我是已经转成时间了,我再试看看, 09/22 19:18
25F:→ tony1331: 谢谢大家。 09/22 19:18
26F:→ clansoda: 你只要格式正确的话上面几个作法应该都可行 09/22 19:23
27F:→ clansoda: loop最好作为最後的牌,没牌再打 09/22 19:23
29F:→ clansoda: 你的data是不是data.frame? 09/22 20:19
30F:→ clansoda: 我提的方法是基筑於data.table package 09/22 20:19
31F:→ clansoda: 如果你不想用或不会用data.table 09/22 20:20
32F:→ clansoda: 可以参考cele大的或oba大的方法 cele大的方法不用 09/22 20:20
33F:→ clansoda: 额外的library 09/22 20:20
34F:→ tony1331: cel大,我跑你的code,他是筛出00:00:00~02:00:00,有详 09/22 20:21
35F:→ tony1331: 细的说明吗,谢谢~ 09/22 20:21
36F:→ tony1331: cl大,不好意思,我是不会用,谢谢你! 09/22 20:22
37F:→ celestialgod: 请google regular expression,其实只是这个的应用 09/22 20:25
38F:→ celestialgod: 而已 09/22 20:25
39F:→ tony1331: 好的,我马上来google,感谢你!! 09/22 20:27
40F:推 clansoda: regex我还是常常要在那边试来试去的 没办法一次到位 09/22 20:30
41F:→ celestialgod: 应该是不够熟XDD 09/22 20:41
42F:→ celestialgod: 利用regexOne把题目都做完看看 09/22 20:41
43F:→ celestialgod: 其实多数会用到的regexp豆不难.... 09/22 20:42
44F:→ clansoda: 真的不常用,每次要用都要查 09/22 20:43
45F:→ celestialgod: 其实适用场域非常多,只是你要不要用而已,工作上, 09/22 20:46
46F:→ celestialgod: 几乎每次程式都会用到,包刮oracle sql也会用 09/22 20:46