You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Test mid read bump of logical to character, rereads original True and False character strings faithfully.
add examples of multiple LHS (name and position) and multiple RHS to example(":=")
tests on double in add hoc by
test on -i that retain key e.g. DT[-4] and DT[-4,sum(v),by=b] should both retain key
test on out of bound i subsets e.g. 6:10 when DT has 7 rows, and mixed negative and positive i integer is error.
test that ordered subsets when i is unkeyed now retain x's key (using is.sorted(f__))
add FAQ that eval() is evaled in calling frame so don't need a, then update SO question of 14 March. See the test using variable name same as column name. Actually, is that true? Need "..J".
revisit SO answer. Can there be a better way than the repeated lapply(f,eval,.SD)?
change all 1 to 1L internally (done in data.table.R, other .R to do)
check the "j is named list could be inefficient" message from verbose than Chris N showed recently to 15 May
!make sure explicitly that unnamed lists are being executed by dogroups!
Add to warning about a previous copy that class<-, levels<- can also copy whole vector. Any fun<- form basically.
use looped := vs set test in example(":=") or example(setnames) to test overhead in [.data.table is tested to stay low in future.
add tests on smaller examples with NAs for 'frankv', even though can't compare to base::rank.
TODO items sprinkled throughout the rest of the file:
confirm with Matt the behavior of rbindlist w.r.t. naming of input in edge cases -- rbindlist should look for the first non-empty data.table - New changes (from Arun). Explanation below: Even if data.table is empty, as long as there are column names, they should be considered. Ex: What if all data.tables are empty? What'll be the column name then? If there are no names, then the first non-empty set of names will be allocated. I think this is the way to do it...
"Ragged" files that should have fill = TRUE generate warnings, not errors; as such, we need another way to trigger a STOP() inside fread.c. options(warn=2) isn't enough.
Add tests of NaN behavior in forder (testing internal behavior since can't compare to base::order)
Think of and add more tests for rbindlist
allow.cartesian is ignored if jsub[1L] has :=; could still warn if i has duplicates
Add comment=="#". Ensure only after last field is observed.
Add integer64 support for transpose
Add a test when fill=FALSE, but blank.lines.skip=TRUE, when the same effect as in tests 1585 should happen
Fix and add test for cases like this: a,b,c\n1,2,3\n4,5,6\n7,8,9,6\n1,2,3\n... -- extra column in line 4, but we've only detected 3
TO DO items sprinkled throughout the rest of the file:
the eval() enabled you to use the 'a' in the calling scope, not 'a' in the TESTDT. TO DO: document this.
Test that changing colnames keep key in sync. TO DO: will have to do this for secondary keys, too, when implemented.
Test shallow copy verbose message from := adding a column, and (TO DO) only when X is NAMED.
Used to be warning about invalid .internal.selfref detected and fixed. As from v1.8.3 data.table() returns a NAMED==0 object, and key<- appears not to copy that. But within functions, key<- would still copy. TO DO: add tests....
### ----> Therefore this TO DO may not be necessary here anymore (added by Arun 26th Jan 2014) ---> # TO DO when options(datatable.pedantic=TRUE): test(680.5, rbindlist(l[c(2,6)]), warning="Column 1 of item 2 is type 'double', inconsistent with column 1 of item 1's type ('integer')")
TO DO: add warning about inefficiency when datatable.pedantic=TRUE
TO DO: why doesn't last group have x=d, maybe groups=i in dogroups
the i groups when no match don't get carried through (would be hard to implement this and very unlikely to be useful. Just break into compound query, if needed to be used in j, to get them to carry through. TO DO: add to FAQ.
A is needed otherwise read as double with loss of precision (TO DO: should detect and bump to STR)
" protected ok, but \ needs taking off too (TO DO)
Takes too long for routine use. TO DO: move to a long running stress test script
Selection of columns, copy column to maintain the same as R <= 3.0.2, in Rdevel, for now; otherwise e.g. setkey changes the original columns too. TO DO: could allow shallow copy, perhaps.
TO DO: roll to -Inf. Also remove -Inf and test rolling to NaN and NA
Items cut out from the end of
tests.Rrawwhen this issue was first created:lapply(f,eval,.SD)?TODOitems sprinkled throughout the rest of the file:rbindlistw.r.t. naming of input in edge cases -- rbindlist should look for the first non-empty data.table - New changes (from Arun). Explanation below: Even if data.table is empty, as long as there are column names, they should be considered. Ex: What if all data.tables are empty? What'll be the column name then? If there are no names, then the first non-empty set of names will be allocated. I think this is the way to do it...fill = TRUEgenerate warnings, not errors; as such, we need another way to trigger a STOP() inside fread.c. options(warn=2) isn't enough.NaNbehavior inforder(testing internal behavior since can't compare tobase::order)rbindlistallow.cartesianis ignored ifjsub[1L]has:=; could still warn ifihas duplicatescomment=="#". Ensure only after last field is observed.integer64support fortransposefill=FALSE, butblank.lines.skip=TRUE, when the same effect as in tests 1585 should happena,b,c\n1,2,3\n4,5,6\n7,8,9,6\n1,2,3\n...-- extra column in line 4, but we've only detected 3nomatch=NAin non-equi-join suite (tests 1640-ish)... tested, but takes quite some time... so commented for now [split off as Add tests fornomatch=NAin non-equi-join suite #3411]strict.numeric(defaultFALSE) toall.equal.data.table()? [split off as Addstrict.numeric(defaultFALSE) toall.equal.data.table()? #3410]logicalAsIntargument..xas valid column namesTO DOitems sprinkled throughout the rest of the file: