【发布时间】:2016-03-14 22:58:51
【问题描述】:
在data.table 中,以下具有等价的结果:
dt1 <- data.table(iris)
dt1[, Long.Petal := Petal.Length > mean(Petal.Length)]
dt1[, Wide.Petal := Petal.Width > mean(Petal.Width)]
和
dt2 <- data.table(iris)
dt2[, `:=`(
Long.Petal = Petal.Length > mean(Petal.Length),
Wide.Petal = Petal.Width > mean(Petal.Width)
)]
在处理大型数据集时,后一种形式是否有性能优势(在内存或运行时间或两者方面)?还是开销最小,只是样式和可读性的问题?
【问题讨论】:
-
第三种形式可以使用 chaning
dt3[, Long.Petal := ...][, Wide.Petal := ...]但这可能会导致与dt1相同的开销。
标签: r performance data.table variable-assignment