A modern re-imagining of the data frame
Accurate location of the source of an error in error messages (#1379, #1065, #1508).
as_data_frame()
now also refers to as.data.frame()
in its deprecation message (#1149, #1506).
Deprecated functions and arguments where we could not detect usage by other CRAN packages (#1515):
data_frame_()
, lst_()
, frame_data()
as_tibble(validate = )
, as_tibble(NULL)
, new_tibble(subclass = )
add_row()
and add_column()
for non-data-frame input
add_column()
for input with non-unique names
corner cases for tbl[[x]]
Breaking change: Remove knit_print.trunc_mat()
method (#1516).
Forward trunc_mat()
to new-style pillar methods (#1517).
glue()
and other classed characters for subassignment (#1150, #1503).New vignette("extending")
(#275, #1512).
Minor updates (#1151, #1070, #1512, #1485).
Update example for nrow
argument to new_tibble()
(@heavywatal, #1394).
Fix display of mermaid diagrams in vignette("formats")
(@maelle, #1497, #1498).
Remove ANSI escapes from invariants article on pkgdown (#1374).
Require vctrs >= 0.4.1 and pillar >= 1.8.1
Use cli for formatting conditions (#1387).
Use vec_as_location(missing = "error")
for better error messages (#741, #1511).
Remove compatibility code for RSDA package which is broken anyway due to other changes (#923, #1509).
Skip tests if suggested packages not available (#1246, @MichaelChirico).
Remove obsolete tests (#1513).
trunc_mat()
now returns a value with a different structure. This is considered an implementation detail that can change in the future, do not rely on it. The only guarantee is that calling print()
will display the input like a tibble (#1059).dim_desc()
in reexports.class
over .subclass
in rlang::error_cnd()
(#1015, #1060).set_num_opts()
and set_char_opts()
are reexported from pillar (#959).view()
uses rlang::expr_deparse(width = Inf)
to avoid errors with long |>
pipes (#957).new_tibble()
checks that the nrow
argument is nonnegative and less than 2^31 (#916).tbl_sum.tbl_df()
has an ellipsis in its formals for extensibility."tibble.view_max"
option for lazy tables (#954).as.data.frame.tbl_df()
strips inner column names (#837).new_tibble()
allows omitting the nrow
argument again (#781).vignette("digits")
, vignette("numbers")
, ?num
and ?char
from the pillar package here (#913).iris
by trees
(#943).?tibble_options
help page (#912).x[i, j] <- one_row_value
avoids explicit recycling of the right-hand side, the recycling happens implicitly in vctrs::vec_assign()
for performance (#922).new_tibble()
uses vctrs::new_data_frame()
internally (#726, @DavisVaughan).tbl[row, col] <- rhs
treats an all-NA
logical vector as a missing value both for existing data (#773) and for the right-hand side value (#868). This means that a column initialized with NA
(of type logical
) will change its type when a row is updated to a value of a different type.[[<-()
supports symbols (#893).as_tibble_row()
supports arbitrary vectors (#797).enframe()
and deframe()
support arbitrary vectors (#730).tibble()
and tibble_row()
ignore all columns that evaluate to NULL
, not only those where a verbatim NULL
is passed (#895, #900).new_tibble()
is now faster (#901, @mgirlich).pillar::dim_desc()
(#859).num()
and char()
are reexported from pillar (#880).tribble()
and frame_matrix()
give an error if values are named (#871, @lorenzwalthert).cli.num_colors
option (#410).new_tibble()
examples for compatibility with pillar 1.6.0.