我有一个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"))]
答案 0 :(得分:7)
就像var type = typeof(Test);
var collInterface = type.GetInterfaces()[0];
var generic = collInterface.GetGenericArguments()[0];
通过引用将其输入转换为数据表一样,还有setDT()
通过引用将其输入转换为数据帧。所以请致电
setDF()
然后您将返回没有复制的数据框。