3 回答
TA贡献1853条经验 获得超6个赞
我的问题与引用分配和复制分配有关data.table。我想知道是否可以通过引用删除行,类似于
DT[ , someCol := NULL]
我想知道
DT[someRow := NULL, ]
我想有一个很好的理由说明为什么这个功能不存在,所以也许你可以指出一个很好的替代通常的复制方法,如下所示。特别是,从我的例子(data.table)开始,
DT = data.table(x = rep(c("a", "b", "c"), each = 3), y = c(1, 3, 6), v = 1:9)
# x y v
# [1,] a 1 1
# [2,] a 3 2
# [3,] a 6 3
# [4,] b 1 4
# [5,] b 3 5
# [6,] b 6 6
# [7,] c 1 7
# [8,] c 3 8
# [9,] c 6 9
假设我想从此data.table中删除第一行。我知道我可以这样做:
DT <- DT[-1, ]
但通常我们可能想要避免这种情况,因为我们正在复制对象(这需要大约3 * N内存,如果是N object.size(DT),如此处所指出的那样。现在我发现set(DT, i, j, value)。我知道如何设置特定值(如下所示:set all第1行和第2行以及第2列和第3列的值为零)
set(DT, 1:2, 2:3, 0)
DT
# x y v
# [1,] a 0 0
# [2,] a 0 0
# [3,] a 6 3
# [4,] b 1 4
# [5,] b 3 5
# [6,] b 6 6
# [7,] c 1 7
# [8,] c 3 8
# [9,] c 6 9
但是,如何删除前两行呢?干
set(DT, 1:2, 1:3, NULL)
将整个DT设置为NULL。
我的SQL知识非常有限,所以你们告诉我:给定的data.table使用SQL技术,是否有与SQL命令相同的功能
DELETE FROM table_name
WHERE some_column=some_value
在data.table?
TA贡献2012条经验 获得超12个赞
我发现最简单的方法是:
NSDate *someDateInUTC = …;
NSTimeInterval timeZoneSeconds = [[NSTimeZone localTimeZone] secondsFromGMT];
NSDate *dateInLocalTimezone = [someDateInUTC dateByAddingTimeInterval:timeZoneSeconds];
- 3 回答
- 0 关注
- 921 浏览
添加回答
举报