mibble() / frame_matrix() #140
I think it would make sense to have a matrix equivalent of
It should support column names:
frame_matrix( ~col1, ~col2, 10, 3, 3, 2 )
As well as row names:
frame_matrix( ~row1, 10, 3, ~row2, 3, 2 )
frame_matrix( NULL, ~col1, ~col2, ~row1, 10, 3, ~row2, 3, 2 )
Most of the time matrices don't have column names so it'd be useful to provide an alternative way of figuring out the size of the matrix, with an argument:
Sigma <- frame_matrix(ncol = 2, 10, 3 3, 2 )
These are all a lot more readable in a script than:
matrix(c(10, 3, 3, 2), 2)
The text was updated successfully, but these errors were encountered:
And then we could have other verbs for symmetric matrices? They would work in the same way but would assume the input is triangular:
frame_lower(ncol = 2, 10, 3, 2 ) frame_upper(ncol = 2, 10, 3, 2 ) frame_lower( NULL, ~var1, ~var2, ~var1, 10, ~var2, 3, 2 )
You are right that this is already pretty close, though arguably not aesthetic:
c( 1, 2, 3, 4 ) %>% matrix(2)
I'd say the appeal of
And maybe also the dimnames? E.g. you could substitute the
frame_lower( NULL, ~var1, ~var2, ~var1, 10, ~var2, 3, 2 )
frame_lower(dim1 ~ dim2, ~var1, ~var2, ~var1, 10, ~var2, 3, 2 )
@lionel- Would you be worry that something like
would require extensive white-space editing to make things line up? A single change in the cell value or row/column name means a whole lot of editing to make things align again. I'm a little concerned that it would actually cause more data entry problems.
- New `frame_matrix()` (#140, #168, @LaDilettante). - The `max.print` option is ignored when printing a tibble (#194, #195, @t-kalinowski). - Fix typo in `obj_sum` documentation (#193, @etiennebr). - Keep column classes when adding row to empty tibble (#171, #177, @LaDilettante). - Now explicitly stating minimum Rcpp version 0.12.3.
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.