将data.table转换为data.frame(即撤消setDT)

Kru*_*rug 4 r dataframe data.table

我有一个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"))]
Run Code Online (Sandbox Code Playgroud)

Ric*_*ven 8

就像setDT()通过引用将其输入转换为数据表一样,也可以通过引用setDF()将其输入转换为数据帧.所以请致电

setDF(df)
Run Code Online (Sandbox Code Playgroud)

并且您将返回到没有制作副本的数据框.