我有以下形式的数据框:
Temp Depth Light x time date time.at.depth
104 18.59 -2.7 27 21:38 2012-06-20 4
109 18.59 -2.7 27 22:02 2012-06-20 5
110 18.75 -4.0 27 22:07 2012-06-20 5
113 18.91 -2.7 27 22:21 2012-06-20 4
114 18.91 -4.0 27 22:26 2012-06-20 5
115 18.91 -2.7 27 22:31 2012-06-20 5
117 18.91 -2.7 27 22:40 2012-06-20 4
118 18.75 -4.0 27 22:45 2012-06-20 5
119 18.75 -2.7 27 22:50 2012-06-20 5
121 18.59 -4.0 27 22:59 2012-06-20 4
122 18.75 -2.7 27 23:04 2012-06-20 5
123 18.75 -4.0 27 23:09 2012-06-20 5
126 18.59 -2.7 27 23:23 2012-06-20 5
127 18.59 -2.7 27 23:28 2012-06-20 5
128 18.59 -4.0 27 23:33 2012-06-20 5
133 18.75 -4.0 27 23:57 2012-06-20 5
136 18.59 -4.0 27 00:11 2012-06-20 5
138 18.59 -2.7 27 00:21 2012-06-20 5
140 18.91 -2.7 27 00:30 2012-06-20 5
我想将数据分成 30 分钟的子集。是否有捷径可寻?我看了看split()
函数,但似乎需要采用数字格式才能工作,我有时间POSIXct
格式。任何想法将不胜感激。
这是给你的一句台词(dat
是你的数据框):
split(dat, cut(strptime(paste(dat$date, dat$time), format="%F %R"),"30 mins"))
Indeed cut.POSIXt
接受作为中断值
间隔规范,“秒”、“分钟”、“小时”、“日”、“DSTday”、“周”、“月”、“季度”或“年”之一,前面可以选择一个整数和一个空格,或后跟“s”。
另外,我用了%F %R
作为快捷方式%Y-%m-%d %H:%M
: see ?strptime
查看所有可能的格式。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)