Skip to content

Commit

Permalink
Closes #1752, better warning message in melt.data.table.
Browse files Browse the repository at this point in the history
  • Loading branch information
arunsrinivasan committed Jun 24, 2016
1 parent 0c2ea27 commit 431b708
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 3 deletions.
2 changes: 2 additions & 0 deletions NEWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -288,6 +288,8 @@

29. Fixed misleading documentation of `?uniqueN`, [#1746](https://github.com/Rdatatable/data.table/issues/1746). Thanks @SymbolixAU.

30. `melt.data.table` restricts column names printed during warning messages to a maximum of five, [#1752](https://github.com/Rdatatable/data.table/issues/1752).

### Changes in v1.9.6 (on CRAN 19 Sep 2015)

#### NEW FEATURES
Expand Down
2 changes: 2 additions & 0 deletions inst/tests/melt-warning-1752.tsv
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Id Id2 Geography RECORD CODES - File Identification RECORD CODES - State/US-Abbreviation (USPS) RECORD CODES - Summary Level RECORD CODES - Geographic Component RECORD CODES - Characteristic Iteration RECORD CODES - Characteristic Iteration File Sequence Number RECORD CODES - Logical Record Number GEOGRAPHIC AREA CODES - Region GEOGRAPHIC AREA CODES - Division GEOGRAPHIC AREA CODES - State (FIPS) GEOGRAPHIC AREA CODES - County GEOGRAPHIC AREA CODES - FIPS County Class Code GEOGRAPHIC AREA CODES - County Size Code GEOGRAPHIC AREA CODES - County Subdivision (FIPS) GEOGRAPHIC AREA CODES - FIPS County Subdivision Class Code GEOGRAPHIC AREA CODES - County Subdivision Size Code GEOGRAPHIC AREA CODES - Place (FIPS) GEOGRAPHIC AREA CODES - FIPS Place Class Code GEOGRAPHIC AREA CODES - Place Size Code GEOGRAPHIC AREA CODES - Census Tract GEOGRAPHIC AREA CODES - Block Group GEOGRAPHIC AREA CODES - Block GEOGRAPHIC AREA CODES - Internal Use Code GEOGRAPHIC AREA CODES - Consolidated City (FIPS) GEOGRAPHIC AREA CODES - FIPS Consolidated City Class Code GEOGRAPHIC AREA CODES - Consolidated City Size Code GEOGRAPHIC AREA CODES - American Indian Area/Alaska Native Area/Hawaiian Home Land (Census) GEOGRAPHIC AREA CODES - American Indian Area/Alaska Native Area/Hawaiian Home Land (FIPS) GEOGRAPHIC AREA CODES - FIPS American Indian Area/Alaska Native Area/Hawaiian Home Land Class Code GEOGRAPHIC AREA CODES - American Indian Trust Land/Hawaiian Home Land Indicator GEOGRAPHIC AREA CODES - American Indian Tribal Subdivision (Census) GEOGRAPHIC AREA CODES - American Indian Tribal Subdivision (FIPS) GEOGRAPHIC AREA CODES - FIPS American Indian Tribal Subdivision Class Code GEOGRAPHIC AREA CODES - Tribal Census Tract GEOGRAPHIC AREA CODES - Tribal Block Group GEOGRAPHIC AREA CODES - Alaska Native Regional Corporation (FIPS) GEOGRAPHIC AREA CODES - FIPS Alaska Native Regional Corporation Class Code GEOGRAPHIC AREA CODES - Metropolitan Statistical Area/Micropolitan Statistical Area GEOGRAPHIC AREA CODES - Metropolitan Statistical Area/Micropolitan Statistical Area Size Code GEOGRAPHIC AREA CODES - Metropolitan Division GEOGRAPHIC AREA CODES - Combined Statistical Area GEOGRAPHIC AREA CODES - New England City and Town Area GEOGRAPHIC AREA CODES - New England City and Town Area Size Code GEOGRAPHIC AREA CODES - New England City and Town Area Division GEOGRAPHIC AREA CODES - Combined New England City and Town Area GEOGRAPHIC AREA CODES - Metropolitan Statistical Area/Micropolitan Statistical Area Principal City Indicator GEOGRAPHIC AREA CODES - New England City and Town Area Principal City Indicator GEOGRAPHIC AREA CODES - Urban Area GEOGRAPHIC AREA CODES - Urban Area Size Code GEOGRAPHIC AREA CODES - Urban Area Type GEOGRAPHIC AREA CODES - Urban/Rural GEOGRAPHIC AREA CODES - Congressional District (111th) GEOGRAPHIC AREA CODES - State Legislative District (Upper Chamber) (Year 1) GEOGRAPHIC AREA CODES - State Legislative District (Lower Chamber) (Year 1) GEOGRAPHIC AREA CODES - Voting District GEOGRAPHIC AREA CODES - Voting District Indicator GEOGRAPHIC AREA CODES - Reserved GEOGRAPHIC AREA CODES - ZIP Code Tabulation Area (5 digit) GEOGRAPHIC AREA CODES - Subminor Civil Division (FIPS) GEOGRAPHIC AREA CODES - FIPS Subminor Civil Division Class Code GEOGRAPHIC AREA CODES - School District (Elementary) GEOGRAPHIC AREA CODES - School District (Secondary) GEOGRAPHIC AREA CODES - School District (Unified) AREA CHARACTERISTICS - Area (Land) AREA CHARACTERISTICS - Area (Water) AREA CHARACTERISTICS - Area Name-Legal/Statistical Area Description (LSAD) Term-Part Indicator AREA CHARACTERISTICS - Functional Status Code AREA CHARACTERISTICS - Geographic Change User Note Indicator AREA CHARACTERISTICS - Population Count (100%) AREA CHARACTERISTICS - Housing Unit Count (100%) AREA CHARACTERISTICS - Internal Point (Latitude) AREA CHARACTERISTICS - Internal Point (Longitude) AREA CHARACTERISTICS - Legal/Statistical Area Description Code AREA CHARACTERISTICS - Part Flag SPECIAL AREA CODES - Reserved SPECIAL AREA CODES - Urban Growth Area SPECIAL AREA CODES - State (ANSI) SPECIAL AREA CODES - County (ANSI) SPECIAL AREA CODES - County Subdivision (ANSI) SPECIAL AREA CODES - Place (ANSI) SPECIAL AREA CODES - Consolidated City (ANSI) SPECIAL AREA CODES - American Indian Area/Alaska Native Area/Hawaiian Home Land (ANSI) SPECIAL AREA CODES - American Indian Tribal Subdivision (ANSI) SPECIAL AREA CODES - Alaska Native Regional Corporation (ANSI) SPECIAL AREA CODES - Subminor Civil Division (ANSI) SPECIAL AREA CODES - Congressional District (113th) SPECIAL AREA CODES - Congressional District (114th) SPECIAL AREA CODES - Congressional District (115th) SPECIAL AREA CODES - State Legislative District (Upper Chamber) (Year 2) SPECIAL AREA CODES - State Legislative District (Upper Chamber) (Year 3) SPECIAL AREA CODES - State Legislative District (Upper Chamber) (Year 4) SPECIAL AREA CODES - State Legislative District (Lower Chamber) (Year 2) SPECIAL AREA CODES - State Legislative District (Lower Chamber) (Year 3) SPECIAL AREA CODES - State Legislative District (Lower Chamber) (Year 4) SPECIAL AREA CODES - American Indian Area/Alaska Native Area/Hawaiian Home Land Size Code SPECIAL AREA CODES - Combined Statistical Area Size Code SPECIAL AREA CODES - Combined NECTA Size Code SPECIAL AREA CODES - Metropolitan Micropolitan Indicator SPECIAL AREA CODES - NECTA Metropolitan Micropolitan Indicator SPECIAL AREA CODES - Public Use Microdata Area SPECIAL AREA CODES - Reserved
310M100US10180 10180 Abilene, TX Metro Area UR1US US 310 0 0 407913 10180 18 999 ç.).0-*(+,))+(0(E-314 ç.).0-*(+,))+(0(E-316 Abilene, TX Metro Area S 165252 69721 3.24520222E1 -9.97187428E1 M1 0 1
6 changes: 6 additions & 0 deletions inst/tests/tests.Rraw
Original file line number Diff line number Diff line change
Expand Up @@ -8975,6 +8975,12 @@ foo <- function(x) {
}
test(1680.1, foo(x), melt(x, measure.vars=patterns("^y", "^z")))

# melt warning prints only first 5 cols, #1752
DT = fread("melt-warning-1752.tsv")
ans = suppressWarnings(melt(DT[, names(DT) %like% "(^Id[0-9]*$)|GEOGRAPHIC AREA CODES", with=FALSE], id=1:2))
test(1681, melt(DT[, names(DT) %like% "(^Id[0-9]*$)|GEOGRAPHIC AREA CODES", with=FALSE], id=1:2),
ans, warning="are not all of the same type")

##########################

# TODO: Tests involving GForce functions needs to be run with optimisation level 1 and 2, so that both functions are tested all the time.
Expand Down
7 changes: 4 additions & 3 deletions src/fmelt.c
Original file line number Diff line number Diff line change
Expand Up @@ -106,18 +106,19 @@ SEXP whichwrapper(SEXP x, SEXP bool) {
SEXP concat(SEXP vec, SEXP idx) {

SEXP s, t, v;
int i;
int i, nidx=length(idx);

if (TYPEOF(vec) != STRSXP) error("concat: 'vec must be a character vector");
if (!isInteger(idx) || length(idx) < 0) error("concat: 'idx' must be an integer vector of length >= 0");
for (i=0; i<length(idx); i++) {
if (INTEGER(idx)[i] < 0 || INTEGER(idx)[i] > length(vec))
error("concat: 'idx' must take values between 0 and length(vec); 0 <= idx <= length(vec)");
}
PROTECT(v = allocVector(STRSXP, length(idx)));
for (i=0; i<length(idx); i++) {
PROTECT(v = allocVector(STRSXP, nidx > 5 ? 5 : nidx));
for (i=0; i<length(v); i++) {
SET_STRING_ELT(v, i, STRING_ELT(vec, INTEGER(idx)[i]-1));
}
if (nidx > 5) SET_STRING_ELT(v, 4, mkChar("..."));
PROTECT(t = s = allocList(3));
SET_TYPEOF(t, LANGSXP);
SETCAR(t, install("paste")); t = CDR(t);
Expand Down

0 comments on commit 431b708

Please sign in to comment.