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

Backtick non-semantic variable names #131

Closed
hadley opened this Issue Jul 25, 2016 · 2 comments

Comments

Projects
None yet
2 participants
@hadley
Member

hadley commented Jul 25, 2016

tb <- tibble(
  `:)` = "smile", 
  ` ` = "space",
  `2000` = "number"
)
tb
@hadley

This comment has been minimized.

Member

hadley commented Jul 25, 2016

As far as I know, this is the only way to do it:

is_syntactic <- function(x) make.names(x) == x

tickit <- function(x) {
  needs_ticks <- !is_syntactic(x)
  x[needs_ticks] <- paste0("`", gsub("`", "\\\\`", x[needs_ticks]), "`")
  x
}

@hadley hadley closed this in 4bb2dbe Jul 25, 2016

krlmlr pushed a commit that referenced this issue Jul 29, 2016

Kirill Müller
Merge tag 'v1.1-2'
- Back-tick non-semantic column names (#131).
@krlmlr

This comment has been minimized.

Member

krlmlr commented Jul 29, 2016

There's deparse() which is also used by print.default():

> deparse(quote(`5`), width.cutoff = 500L, backtick = TRUE)
[1] "`5`"
> deparse(quote(`a`), width.cutoff = 500L, backtick = TRUE)
[1] "a"
> deparse(quote(`repeat`), width.cutoff = 500L, backtick = TRUE)
[1] "`repeat`"

But if we start converting names to symbols first, tidyverse/dplyr#1950 applies again on Windows.

krlmlr added a commit that referenced this issue Aug 26, 2016

Merge tag 'v1.2'
- The `tibble.width` option is used for `glimpse()` only if it is finite (#153, @kwstat).
- New `as_tibble.poly()` to support conversion of a `poly` object to a tibble (#110).
- `add_row()` now correctly handles existing columns of type `list` that are not updated (#148).
- `all.equal()` doesn't throw an error anymore if one of the columns is named `na.last`, `decreasing` or `method` (#107, @BillDunlap).

- New `add_column()`, analogously to `add_row()` (#99).
- `print.tbl_df()` gains `n_extra` method and will have the same interface as `trunc_mat()` from now on.
- `add_row()` and `add_column()` gain `.before` and `.after` arguments which indicate the row (by number) or column (by number or name) before or after which the new data are inserted. Updated or added columns cannot be named `.before` or `.after` (#99).
- Rename `frame_data()` to `tribble()`, stands for "transposed tibble". The former is still available as alias (#132, #143).

- `add_row()` now can add multiple rows, with recycling (#142, @jennybc).
- Use multiply character `×` instead of `x` when printing dimensions (#126). Output tests had to be disabled for this on Windows.
- Back-tick non-semantic column names on output (#131).
- Use `dttm` instead of `time` for `POSIXt` values (#133), which is now used for columns of the `difftime` class.
- Better output for 0-row results when total number of rows is unknown (e.g., for SQL data sources).

- New object summary vignette that shows which methods to define for custom vector classes to be used as tibble columns (#151).
- Added more examples for `print.tbl_df()`, now using data from `nycflights13` instead of `Lahman` (#121), with guidance to install `nycflights13` package if necessary (#152).
- Minor changes in vignette (#115, @helix123).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment