Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在r中的新列中具有if条件的for循环_R_Loops_Grouping - Fatal编程技术网

在r中的新列中具有if条件的for循环

在r中的新列中具有if条件的for循环,r,loops,grouping,R,Loops,Grouping,我是R的新手,我正在尝试根据每5分钟的时间划分数据。例如,我有从480到1200分钟开始的数据,如bellow minutes,我希望每5分钟将这些数据分组在一起,并使用相同的名称,如组1、2、3、,。。。。并在新列中显示该组名称 请让我知道我如何可以轻松做到这一点,因为我有一个大数据,几乎不可能手动完成 time Dates minutes 08:03:00 01/04/2014 483 08:00:00 01/04/2014 480 08:00:00 01/0

我是R的新手,我正在尝试根据每5分钟的时间划分数据。例如,我有从480到1200分钟开始的数据,如bellow minutes,我希望每5分钟将这些数据分组在一起,并使用相同的名称,如组1、2、3、,。。。。并在新列中显示该组名称

请让我知道我如何可以轻松做到这一点,因为我有一个大数据,几乎不可能手动完成

time    Dates   minutes
08:03:00    01/04/2014  483
08:00:00    01/04/2014  480
08:00:00    01/04/2014  480
08:00:00    01/04/2014  480
08:00:00    01/04/2014  480
08:00:00    01/04/2014  480
08:02:00    01/04/2014  482
08:03:00    01/04/2014  483
08:02:00    01/04/2014  482
08:06:00    01/04/2014  486
08:11:00    01/04/2014  491

欢迎来到StackOverflow!请尝试在您的问题中加入一些示例数据

这里有些东西应该有用。使用
data.table
按时间分组,并
lubridate::round_date
将数据四舍五入至最接近的5分钟

library(data.table)
library(lubridate)

# Dummy data
nobv <- 1000 # number of observations
dat <- data.table(value = rnorm(nobv, mean = 56, sd = 6),
                  time = seq.POSIXt(from = Sys.time(), length.out = nobv, by = 60))


> dat[, .(meanval = mean(value)), by= .(round_date(time, unit = '5 min'))]
              round_date  meanval
  1: 2018-08-13 10:55:00 55.32077
  2: 2018-08-13 11:00:00 52.54964
  3: 2018-08-13 11:05:00 58.38496
  4: 2018-08-13 11:10:00 55.25373
  5: 2018-08-13 11:15:00 57.09708
 ---                             
197: 2018-08-14 03:15:00 60.98019
198: 2018-08-14 03:20:00 54.77937
199: 2018-08-14 03:25:00 58.39377
200: 2018-08-14 03:30:00 55.19714
201: 2018-08-14 03:35:00 58.75665
库(data.table)
图书馆(lubridate)
#虚拟数据

nobv一个关于您当前数据和所需输出的示例将很有帮助。感谢Gautam,我添加了我的数据集的一部分。因此,我希望每5分钟将分钟分成一组。我看不出你在这里给同一组的人贴了标签。让我们想象一下,我的数据大小是199774,我有19行,我想在其中添加另一行作为类名。