转移数据表评估

时间:2018-05-18 13:14:24

标签: r data.table

我试图在数据表中使用HttpResponseMessage rep = new HttpResponseMessage(); try { rep = client.PostAsync("https://localhost:9999/", content).Result; } catch (Exception e) { } Task t1 = Task.Factory.StartNew(() => ContinueTrasmission(client, c1.name, c1.state)); ,如下所示:

shift

这只是一个证明问题的测试:在第二行中,xy是NA。原因是评估部分i(作为:DT <- data.table(a = c(1,2,3,4,5,6,7), b = c("A","A","A","B","B","B","B")) DT[!is.na(shift(a, 1)), xy := shift(a, 1), by = b] 的一部分)的转移不考虑by-keyword,而j表示。这对我来说似乎很困惑。这种行为有原因吗?

1 个答案:

答案 0 :(得分:2)

您在第二行获得NA - 值的原因是您要使用!is.na(shift(a,1))过滤掉第一行,请参阅:

> DT[, !is.na(shift(a, n = 1))]
[1] FALSE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE

这不包含在by - 操作中,因为i中的过滤是在分组之前完成的。

因此xy := shift(a, 1)只会查看第2行到第7行。