`plot` inside `j` with `by` fails when `x` and `y` are different data types
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 45/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- r
- Domain
- data, data-visualization
Research direction
Start by running the minimal reproducible examples in the issue with data.table 1.17.4, comparing grouped j evaluation with and without the id filter. Trace the grouped plot call to identify why mixed numeric and integer x/y values produce unequal lengths; done means both failing examples plot without warnings and have regression coverage.
Written by the indexing model from the issue text.
Description
# [Minimal reproducible example]
library(data.table)
# the following behave as expected
data.table(x = 1:100, y = 100:1, id = sample(5, 100, 1))[,plot(x, y), id]
data.table(x = as.numeric(1:100), y = as.numeric(100:1), id = sample(5, 100, 1))[,plot(x, y), id]
data.table(x = as.numeric(1:100), y = 100:1, id = sample(5, 100, 1))[id == 1, plot(x, y), id]
data.table(x = 1:100, y = as.numeric(100:1), id = sample(5, 100, 1))[id == 1, plot(x, y), id]
# the following fail to plot and return warning messages about unequal lengths
data.table(x = as.numeric(1:100), y = 100:1, id = sample(5, 100, 1))[,plot(x, y), id]
data.table(x = 1:100, y = as.numeric(100:1), id = sample(5, 100, 1))[,plot(x, y), id]
# Output of sessionInfo()
R version 4.4.3 (2025-02-28 ucrt)
Platform: x86_64-w64-mingw32/x64
Running under: Windows 11 x64 (build 22631)
Matrix products: default
locale:
[1] LC_COLLATE=English_United States.utf8 LC_CTYPE=English_United States.utf8 LC_MONETARY=English_United States.utf8
[4] LC_NUMERIC=C LC_TIME=English_United States.utf8
time zone: America/New_York
tzcode source: internal
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] data.table_1.17.4
loaded via a namespace (and not attached):
[1] compiler_4.4.3 tools_4.4.3 rstudioapi_0.17.1
- Dominant language
- R
- Stars
- 3.9k
- Forks
- 1.1k
- Avg merge
- 14h 4m
- Merged PRs (30d)
- 4
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Rdatatable/data.table
-
as.data.table() recurses without end on a survival::Surv object (or any data.frame carrying one) Open
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Rdatatable/data.table#7887 ·
-
consistency tests
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Rdatatable/data.table#7853 · 3 comments ·
-
internals
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
Rdatatable/data.table#6938 · 1 comment ·
-
encoding fread
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
Rdatatable/data.table#5179 · 8 comments ·
-
documentation programming
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Rdatatable/data.table#3199 · 3 comments ·
All issues in Rdatatable/data.table
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
r-lib/pkgdepends#485 · 3 comments ·
-
Difficulty 1/5 Under an hour Newbie friendliness 92/100
-
beginners blocker
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
enviPathR OpenBuild Error Build OK Build Warning policies-accepted pre-review precheck-passed
Difficulty 1/5 Under an hour Newbie friendliness 84/100
Bioconductor/BiocContributions#207 · 6 comments ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
datacarpentry/semester-biology#1255 ·