Is this new behavior intended? I am getting an error when assigning imx in the first example.
DT <- data.table(LETTERS, letters)
DT[, imx := .I]
f_det_blk <- function(x) {!all(is.na(x))}
DT[, imx := ifelse(apply(.SD, 1, f_det_blk), imx, imx * -1L), .SDc = !'imx'] #error
DT[, ('imx') := ifelse(apply(.SD, 1, f_det_blk), imx, imx * -1L), .SDc = !'imx'] #no error
Is this the new intended behavior?
System info
library(data.table)
data.table 1.10.5 IN DEVELOPMENT built 2017-09-07 14:48:23 UTC; appveyor
data.table::test.data.table()
Running test id 168 Don't know how to automatically pick scale for object of type ITime. Defaulting to continuous.
Don't know how to automatically pick scale for object of type ITime. Defaulting to continuous.
Running test id 1372.2 Tests 1372.3+ not run. If required call library(GenomicRanges) first.
Running test id 1383.3 Tests 1383.4 not run. If required call library(caret) first.
Running test id 1751 Test 1752 not run. If required call library(nanotime) first.
Running test id 1823.3
endian==little, sizeof(long double)==16, sizeof(pointer)==8
All 6010 tests in inst/tests/tests.Rraw completed ok in 00:02:05 on Thu Sep 07 13:04:13 2017
sessionInfo()
R Under development (unstable) (2017-09-06 r73210)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)
Matrix products: default
locale:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C
[5] LC_TIME=English_United States.1252
attached base packages:
[1] parallel stats graphics grDevices utils datasets methods base
other attached packages:
[1] rmarkdown_1.6 curl_2.8.1 gdata_2.18.0 xts_0.10-0 zoo_1.8-0 nlme_3.1-131
[7] fastmatch_1.1-0 hexbin_1.27.1 testthat_1.0.2 plyr_1.8.4 ggplot2_2.2.1 chron_2.3-50
[13] knitr_1.17 bit64_0.9-7 bit_1.1-12 data.table_1.10.5 reshape2_1.4.2 reshape_0.8.7
loaded via a namespace (and not attached):
[1] Rcpp_0.12.12 highr_0.6 compiler_3.5.0 tools_3.5.0 digest_0.6.12 evaluate_0.10.1
[7] tibble_1.3.4 gtable_0.2.0 lattice_0.20-35 rlang_0.1.2 yaml_2.1.14 stringr_1.2.0.9000
[13] gtools_3.5.0 rprojroot_1.2 grid_3.5.0 R6_2.2.2 magrittr_1.5 scales_0.5.0
[19] backports_1.1.0 htmltools_0.3.6 colorspace_1.3-2 labeling_0.3 stringi_1.1.6 lazyeval_0.2.0
[25] munsell_0.4.3 crayon_1.3.2
rstudioapi::versionInfo()
$mode [1] "desktop"
$version [1] ‘1.1.359’
Is this new behavior intended? I am getting an error when assigning imx in the first example.
Is this the new intended behavior?
System info
Matrix products: default
locale:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C
[5] LC_TIME=English_United States.1252
attached base packages:
[1] parallel stats graphics grDevices utils datasets methods base
other attached packages:
[1] rmarkdown_1.6 curl_2.8.1 gdata_2.18.0 xts_0.10-0 zoo_1.8-0 nlme_3.1-131
[7] fastmatch_1.1-0 hexbin_1.27.1 testthat_1.0.2 plyr_1.8.4 ggplot2_2.2.1 chron_2.3-50
[13] knitr_1.17 bit64_0.9-7 bit_1.1-12 data.table_1.10.5 reshape2_1.4.2 reshape_0.8.7
loaded via a namespace (and not attached):
[1] Rcpp_0.12.12 highr_0.6 compiler_3.5.0 tools_3.5.0 digest_0.6.12 evaluate_0.10.1
[7] tibble_1.3.4 gtable_0.2.0 lattice_0.20-35 rlang_0.1.2 yaml_2.1.14 stringr_1.2.0.9000
[13] gtools_3.5.0 rprojroot_1.2 grid_3.5.0 R6_2.2.2 magrittr_1.5 scales_0.5.0
[19] backports_1.1.0 htmltools_0.3.6 colorspace_1.3-2 labeling_0.3 stringi_1.1.6 lazyeval_0.2.0
[25] munsell_0.4.3 crayon_1.3.2