long column names go past width

Open
#7,797 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
62/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Quiet
Tech stack
r
Domain
data

Research direction

Start by reproducing the options(width=20) data.table examples in the issue and trace the package's printing and column-width handling. Done means long column names are abbreviated within the configured width in both normal output and datatable.print.trunc.cols=TRUE output, without regressing existing truncation behavior.

Written by the indexing model from the issue text.

Description

print

Related to #7788 which implemented this abbreviation:

> options(width=20);data.table(x="abcdefghijklmnopqrstuvwxyz")
                   x
              <char>
1: abcdefghijklmn...

long column names can still go over width:

> options(width=20);data.table(abcdefghijklmnopqrstuvwxyz=1)
   abcdefghijklmnopqrstuvwxyz
                        <num>
1:                          1
> options(width=20, datatable.print.trunc.cols=TRUE);data.table(abcdefghijklmnopqrstuvwxyz=1)
1 variable not shown: [abcdefghijklmnopqrstuvwxyz <num>]

I would expect some output like:

> options(width=20);data.table(abcdefghijklmnopqrstuvwxyz=1)
   abcdefghijklmnop…
               <num>
1:                 1
> options(width=20, datatable.print.trunc.cols=TRUE);data.table(abcdefghijklmnopqrstuvwxyz=1)
1 variable not shown:
abcdefghijklm… <num>

in comparison, others go over width too

> options(width=20);data.frame(x="abcdefghijklmnopqrstuvwxyz")
                           x
1 abcdefghijklmnopqrstuvwxyz
> options(width=20);data.frame(abcdefghijklmnopqrstuvwxyz=1)
  abcdefghijklmnopqrstuvwxyz
1                          1
> options(width=20);tibble::tibble(abcdefghijklmnopqrstuvwxyz=1)
# A tibble: 1 × 1
# ℹ 1 more
#   variable:
#   abcdefghijklmnopqrstuvwxyz <dbl>
> options(width=80);tibble::tibble(abcdefghijklmnopqrstuvwxyz=1)
# A tibble: 1 × 1
  abcdefghijklmnopqrstuvwxyz
                       <dbl>
1                          1
> 

this is not high priority because long column names are not frequent.

Dominant language
R
Stars
3.9k
Forks
1.1k
Avg merge
14h 4m
Merged PRs (30d)
4

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Rdatatable/data.table

All issues in Rdatatable/data.table

Similar issues

More R issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.