我想使用/改变obs
我在 data.table 中创建的列,但返回错误
Error in eval(jsub, SDenv, parent.frame()) : object 'obs' not found
请参阅示例数据的实现。
library(data.table)
set.seed(0)
dt <- data.table(
index = sample(0:100, 10, replace=FALSE),
value = 1:100)
dt[, `:=`(obs = seq_along(index)-1, window = floor(obs/10))] #create an index of every observation and bin them
data.table
的:=
运算符不允许在同一[
表达式中引用最近添加/更改的变量。为了做你想做的事,你需要另一个[
。由于这每个任务只执行一项任务
[
,因此我们可以选择将这些任务在视觉上减少到您可以使用该
{}
选项来执行此操作。当您想要创建不想保留的中间列时,它可能更有用。