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

glimpse() may not dispatch properly to type_sum() #185

Closed
dholstius opened this issue Oct 31, 2016 · 1 comment · Fixed by #186
Closed

glimpse() may not dispatch properly to type_sum() #185

dholstius opened this issue Oct 31, 2016 · 1 comment · Fixed by #186
Labels
bug an unexpected problem or unintended behavior printing 🖨️
Milestone

Comments

@dholstius
Copy link
Contributor

Hi, thanks for all your work on tibble!

Here's an example of a simple problem. I'm about to try and submit a pull request.

CY <- function (x) {
  stopifnot(is.numeric(x))
  structure(as.integer(x), class = "CY")
}

as.character.CY <- function (from) {
  paste0(class(from), unclass(from))
}

library(tibble)

df <- tibble(cal_yr = CY(2011:2013), 
             budget = c(100, 200, 150))

type_sum.CY <- function (x, ...) {
  "CY"
}

glimpse(df)
lapply(df, class)
dholstius added a commit to dholstius/tibble that referenced this issue Oct 31, 2016
`as.data.frame` may drop classes from `x` when creating `df`. See tidyverse#185
for reprex.
@krlmlr krlmlr added bug an unexpected problem or unintended behavior printing 🖨️ labels Jan 4, 2017
@krlmlr krlmlr added this to the 1.3.0 milestone Jan 4, 2017
krlmlr added a commit that referenced this issue Jan 4, 2017
- `glimpse()` now uses `type_sum()` also for S3 objects (#185, #186, @holstius).
krlmlr added a commit that referenced this issue Jan 4, 2017
- `glimpse()` now uses `type_sum()` also for S3 objects (#185, #186, @holstius).
- Reword documentation for `tribble()` (#191, @kwstat).
- Unicode multiplication sign is rendered as `x` if it cannot be represented in the current locale (#192, @ncarchedi).
krlmlr added a commit that referenced this issue Apr 1, 2017
Bug fixes
=========

- Time series matrices (objects of class `mts` and `ts`) are now supported in `as_tibble()` (#184).
- The `all_equal()` function (called by `all.equal.tbl_df()`) now forwards to `dplyr` and fails with a helpful message if not installed. Data frames with list columns cannot be compared anymore, and differences in the declared class (`data.frame` vs. `tbl_df`) are ignored. The `all.equal.tbl_df()` method gives a warning and forwards to `NextMethod()` if `dplyr` is not installed; call `all.equal(as.data.frame(...), ...)` to avoid the warning. This ensures consistent behavior of this function, regardless if `dplyr` is loaded or not (#198).

Interface changes
=================

- Now requiring R 3.1.0 instead of R 3.1.3 (#189).
- Add `as.tibble()` as an alias to `as_tibble()` (#160, @LaDilettante).
- New `frame_matrix()`, similar to `frame_data()` but for matrices (#140, #168, @LaDilettante).
- New `deframe()` as reverse operation to `enframe()` (#146, #214).
- Removed unused dependency on `assertthat`.

Features
========

General
-------

- Keep column classes when adding row to empty tibble (#171, #177, @LaDilettante).
- Singular and plural variants for error messages that mention a list of objects (#116, #138, @LaDilettante).
- `add_column()` can add columns of length 1 (#162, #164, @LaDilettante).

Input validation
----------------

- An attempt to read or update a missing column now throws a clearer warning (#199).
- An attempt to call `add_row()` for a grouped data frame results in a helpful error message (#179).

Printing
--------

- Render Unicode multiplication sign as `x` if it cannot be represented in the current locale (#192, @ncarchedi).
- Backtick `NA` names in printing (#206, #207, @jennybc).
- `glimpse()` now uses `type_sum()` also for S3 objects (#185, #186, @holstius).
- The `max.print` option is ignored when printing a tibble (#194, #195, @t-kalinowski).

Documentation
=============

- Fix typo in `obj_sum` documentation (#193, @etiennebr).
- Reword documentation for `tribble()` (#191, @kwstat).
- Now explicitly stating minimum Rcpp version 0.12.3.

Internal
========

- Using registration of native routines.
@github-actions
Copy link
Contributor

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 14, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug an unexpected problem or unintended behavior printing 🖨️
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants