在R中,如何将数据帧分成2个并合并回来

时间:2018-06-29 14:57:29

标签: r dataframe

我在数据库中有一个表,用于捕获值,将来值(由模型计算)和相应的时间戳。我创建了一个看起来像这样的数据框

 ----------------------------------
| value | future_value | timestamp |
 ----------------------------------
| 10    | 11           | 123456    |

值11表示使用值10和其他属性计算的将来15分钟的将来值。

如何拆分上面的内容并将其合并回去,以便获得一个看起来像这样的数据框

 ----------------------------------
| value | future_value | timestamp |
 ----------------------------------
| 10    | null         | 123456    |
| y     | 11           | 123456+15 |

其中y是将来测得的实际值。

尝试执行以下操作,但这不起作用

df1 <- sqlQuery(con, "SELECT VALUE, (RECORDED_TIMESTAMP/1000) as TS from my_table")
df2 <- sqlQuery(con, "SELECT FUTURE_VALUE, (RECORDED_TIMESTAMP/1000) + (15*60*1000) as TS from my_table")

df_m1 <- data.frame("value" = c(integer()),
                    "value_f" = c(double()),
                    "ts" = df1$TS)

df_m2 <- data.frame("value" = c(integer()),
                    "value_f" = c(double()),
                    "ts" = df2$TS)
df_m3 <- rbind(df_m1, df_m2)

df_m3$value = df1$VALUE[match(df_m3$ts, df1$ts)]
df_m3$value_f = df2$FUTURE_VALUE[match(df_m3$ts, df2$ts)]

我在df_m3上使用dput

structure(list(), .Names = character(0), row.names = integer(0), class = "data.frame")

因此,似乎df_m3没有正确合并。我的基本前提是我创建数据帧并尝试合并两者,以便时间戳范围包含记录的时间戳和计算的时间戳(ts + 15),然后可以在相应的位置“填充”值和future_value。 >

我的最终目标是在TS刻度(x轴)上绘制当前值和future_values(时移),以便检查模型的性能。

0 个答案:

没有答案