Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Need to use type = "width" with nchar in trunc_mat #100

Closed
hadley opened this issue Jun 17, 2016 · 3 comments
Closed

Need to use type = "width" with nchar in trunc_mat #100

hadley opened this issue Jun 17, 2016 · 3 comments
Assignees

Comments

@hadley
Copy link
Member

@hadley hadley commented Jun 17, 2016

Otherwise fullwidth character column names are not aligned correctly:

library(tibble)
x <- c("成交日期", "合同录入日期")
setNames(data_frame(1:3, 4:6), x)
#> Source: local data frame [3 x 2]
#> 
#>   成交日期 合同录入日期
#>      <int>        <int>
#> 1        1            4
#> 2        2            5
#> 3        3            6
nchar(x)
#> [1] 4 6
nchar(x, type = "width")
#> [1]  8 12
@krlmlr krlmlr added the ready label Jun 20, 2016
@krlmlr krlmlr self-assigned this Jun 20, 2016
@krlmlr krlmlr added in progress and removed ready labels Jun 20, 2016
@krlmlr krlmlr closed this in bef1c90 Jun 20, 2016
krlmlr pushed a commit that referenced this issue Jun 20, 2016
- `glimpse()` shows nesting structure for lists (#98).
- `as_data_frame.data.frame()` gains `validate` argument (as in `as_data_frame.list()`), if `TRUE` the input is validated.
- Computation of column width properly handles wide (e.g., Chinese) characters (#100).
- Add comment char `# ` for trailing metadata (#101).
- Restore full package coverage.
- Fixed regression: `stop()` and `warning()` are now always called with `call. = FALSE`.
@krlmlr
Copy link
Member

@krlmlr krlmlr commented Jun 30, 2016

The tests break on Windows. Will mute the tests for now, but need to take a look later.

@krlmlr krlmlr reopened this Jun 30, 2016
krlmlr pushed a commit that referenced this issue Jun 30, 2016
- Skip test that fails on Windows (#100).
krlmlr pushed a commit that referenced this issue Jun 30, 2016
- `$` doesn't attempt partial matching (#109).
- Skip test that fails on Windows (#100).
krlmlr pushed a commit that referenced this issue Jul 4, 2016
Follow-up release.

- `tibble()` is no longer an alias for `frame_data()` (#82).
- Remove `tbl_df()` (#57).
- `$` returns `NULL` if column not found, without partial matching. A warning is given (#109).
- `[[` returns `NULL` if column not found (#109).

- Reworked output: More concise summary (begins with hash `#` and contains more text (#95)), removed empty line, showing number of hidden rows and columns (#51). The trailing metadata also begins with hash `#` (#101). Presence of row names is indicated by a star in printed output (#72).
- Format `NA` values in character columns as `<NA>`, like `print.data.frame()` does (#69).
- The number of printed extra cols is now an option (#68, @lionel-).
- Computation of column width properly handles wide (e.g., Chinese) characters, tests still fail on Windows (#100).
- `glimpse()` shows nesting structure for lists and uses angle brackets for type (#98).
- Tibbles with `POSIXlt` columns can be printed now, the text `<POSIXlt>` is shown as placeholder to encourage usage of `POSIXct` (#86).
- `type_sum()` shows only topmost class for S3 objects.

- Strict checking of integer and logical column indexes. For integers, passing a non-integer index or an out-of-bounds index raises an error. For logicals, only vectors of length 1 or `ncol` are supported. Passing a matrix or an array now raises an error in any case (#83).
- Warn if setting non-`NULL` row names (#75).
- Consistently surround variable names with single quotes in error messages.
- Use "Unknown column 'x'" as error message if column not found, like base R (#94).
- `stop()` and `warning()` are now always called with `call. = FALSE`.

- The `.Dim` attribute is silently stripped from columns that are 1d matrices (#84).
- Converting a tibble without row names to a regular data frame does not add explicit row names.
- `as_tibble.data.frame()` preserves attributes, and uses `as_tibble.list()` to calling overriden methods which may lead to endless recursion.

- New `has_name() (#102).
- Prefer `tibble()` and `as_tibble()` over `data_frame()` and `as_data_frame()` in code and documentation (#82).
- New `is.tibble()` and `is_tibble()` (#79).
- New `enframe()` that converts vectors to two-column tibbles (#31, #74).
- `obj_sum()` and `type_sum()` show `"tibble"` instead of `"tbl_df"` for tibbles (#82).
- `as_tibble.data.frame()` gains `validate` argument (as in `as_tibble.list()`), if `TRUE` the input is validated.
- Implement `as_tibble.default()` (#71, tidyverse/dplyr#1752).
- `has_rownames()` supports arguments that are not data frames.

- Two-dimensional indexing with `[[` works (#58, #63).
- Subsetting with empty index (e.g., `x[]`) also removes row names.

- Document behavior of `as_tibble.tbl_df()` for subclasses (#60).
- Document and test that subsetting removes row names.

- Don't rely on `knitr` internals for testing (#78).
- Fix compatibility with `knitr` 1.13 (#76).
- Enhance `knit_print()` tests.
- Provide default implementation for `tbl_sum.tbl_sql()` and `tbl_sum.tbl_grouped_df()` to allow `dplyr` release before a `tibble` release.
- Explicit tests for `format_v()` (#98).
- Test output for `NULL` value of `tbl_sum()`.
- Test subsetting in all variants (#62).
- Add missing test from dplyr.
- Use new `expect_output_file()` from `testthat`.
@krlmlr
Copy link
Member

@krlmlr krlmlr commented Jul 30, 2016

The tests break on Windows because the test files contain UTF-8 characters but are read in the current (non-UTF-8) locale. This needs to be fixed in testthat (r-lib/testthat#510), another option is to change the test to use Unicode escapes which I'd rather not do.

@github-actions
Copy link

@github-actions github-actions bot commented Dec 15, 2020

This old thread has been automatically locked. If you think you have found something related to this, please open a new issue and link to this old issue if necessary.

@github-actions github-actions bot locked and limited conversation to collaborators Dec 15, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
2 participants