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

Inverse operation to enframe() #146

Closed
krlmlr opened this Issue Aug 15, 2016 · 3 comments

Comments

Projects
None yet
2 participants
@krlmlr
Member

krlmlr commented Aug 15, 2016

Would take a two-column data frame and produce a named vector or list.

Do we want this in tibble?

@krlmlr krlmlr modified the milestone: 1.3 Aug 26, 2016

@jennybc

This comment has been minimized.

Member

jennybc commented Sep 7, 2016

I recently had occasion to use exactly this, so 👍.

@jennybc

This comment has been minimized.

Member

jennybc commented Sep 14, 2016

Specific use case within the tidyverse: if you have a tibble of factor levels and associated colours, ggplot2 really wants you to have this as a named vector of colours. I.e. to use in scale_color_manual().

Does the input have to be a two-column data frame? Or could it have more columns and deframe() (or whatever it's called) has a way to specify which variable you want and which one should become the names? If you only specify the primary variable, does this become the canonical way to get a single variable out of a tibble in a pipeline?

@krlmlr

This comment has been minimized.

Member

krlmlr commented Nov 17, 2016

I'd prefer keeping things simple first (=only support one- or two-column data frames), we can extend later on.

@krlmlr krlmlr referenced this issue Jan 16, 2017

Merged

deframe() #214

@krlmlr krlmlr closed this in #214 Feb 7, 2017

krlmlr added a commit that referenced this issue Feb 7, 2017

krlmlr added a commit that referenced this issue Apr 1, 2017

Merge tag 'v1.3.0'
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment