Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/76.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 不同ID的值';在同一时间戳_R_Dataframe_Timestamp - Fatal编程技术网

R 不同ID的值';在同一时间戳

R 不同ID的值';在同一时间戳,r,dataframe,timestamp,R,Dataframe,Timestamp,我想在同一时间间隔创建一个具有不同ID值的数据帧,如果该值不存在,我必须携带该特定ID的最后一个值。这是我的数据帧 df ID FROM TO VALUE 1 a 2014-09-24 20:00:52 2014-09-24 20:00:52 121.9000 2 a 2014-09-24 20:02:38 2014-09-24 20:02:39 111.9000 3 a 2014-09-24 20:1

我想在同一时间间隔创建一个具有不同ID值的数据帧,如果该值不存在,我必须携带该特定ID的最后一个值。这是我的数据帧

 df
  ID                FROM                  TO    VALUE
1  a 2014-09-24 20:00:52    2014-09-24 20:00:52 121.9000
2  a 2014-09-24 20:02:38    2014-09-24 20:02:39 111.9000
3  a 2014-09-24 20:13:46    2014-09-24 20:13:48 120.9000
4  b 2014-09-24 20:00:52    2014-09-24 20:00:52 113.5631
5  b 2014-09-24 20:02:38    2014-09-24 20:02:38 112.5631
6  b 2014-09-24 20:13:39    2014-09-24 20:13:49 110.5631
从2014-09-24 20:02:38到2014-09-24 20:02:39,a的价值为111.9000。我想把上面df的输出作为

a           b               FROM             TO
121.9000    113.5631    2014-09-24 20:00:52  2014-09-24 20:00:52
111.9000    112.5631    2014-09-24 20:02:38  2014-09-24 20:02:38  
111.9000    110.5631    2014-09-24 20:13:39  2014-09-24 20:13:45 # a's value is carry forward
120.9000    110.5631    2014-09-24 20:13:46  2014-09-24 20:13:49 
任何有效的方法都可以达到上述效果。谢谢

dput(df)
structure(list(ID = c("a", "a", "a", "b", "b", "b"), FROM = c("2014-09-24 20:00:52", 
"2014-09-24 20:02:38", "2014-09-24 20:13:46", "2014-09-24 20:00:52", 
"2014-09-24 20:02:38", "2014-09-24 20:13:39"), TO = c("2014-09-24 20:00:52", 
"2014-09-24 20:02:39", "2014-09-24 20:13:48", "2014-09-24 20:00:52", 
"2014-09-24 20:02:38", "2014-09-24 20:13:49"), VALUE = c(121.899978637695, 
111.899978637695, 120.899978637695, 113.563064575195, 112.563064575195, 
110.563064575195)), .Names = c("ID", "FROM", "TO", "VALUE"), row.names = c(NA, 
-6L), class = "data.frame")

这有点破旧了,但是,你尝试了什么?”罗曼鲁三部曲我尝试过交叉,这是非常错误的,然后我尝试过循环,这是非常低效的。考虑记录你的努力。我对预期的结果感到困惑。为什么你希望最后有4行?我认为FROM&TO有五种独特的组合。
20:02:38(FROM)20:02:39(TO)
似乎缺失了。我想你的预期结果也有错误。例如,
2014-09-24 20:13:45
不存在于TO.zoo::na.locf上一次观察结转中