【发布时间】:2016-08-08 20:46:56
【问题描述】:
我有一个 20x2 的数据框。我将该数据框转换为 data.table 以执行一些操作(删除了对操作和目标的说明超出范围)。转换使我避免使用 for 循环。但是转换会产生一些问题。
我需要将 df data.table 转换回 data.frame。我怎样才能做到这一点?
非常感谢您的帮助。
df <- data.frame(LastPrice = c( 1221, 1220, 1220, 1217, 1216, 1218 , 1216, 1216, 1217, 1220, 1219, 1218, 1220, 1216, 1217, 1218, 1218, 1207, 1206, 1205), KCT = c( 1218, 1218, 1219, 1218, 1221, 1217 , 1217, 1216, 1219, 1216, 1217, 1216, 1219, 1217, 1218, 1217, 1217, 1217, 1219, 1217))
library(data.table)
setDT(df)
df[, check := as.integer(LastPrice > KCT)]
df[, Signal := do.call(pmin, shift(check, 0:2, type="lead"))]
【问题讨论】:
-
就像
setDT(),还有setDF() -
欧瑞卡。花了半天调试这个东西,终于发现data.table格式是我的问题。这解决了它。谢谢你。您想将此作为回复,以便我可以将问题标记为已回答吗?或者这个问题太简单了,应该删除......
-
@Hadd 这个? stackoverflow.com/q/25020092 虽然它还没有 setDF 答案
-
没有问题太基础了,应该删掉。
标签: r dataframe data.table