mibble() / frame_matrix() #140
Comments
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
) |
I think we'd accept a PR that implements this, but it's not high enough priority for us to do. |
I could contribute a PR, but unsure how much more convenient this is. Comparing:
and
I would love to see the appeal of the |
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
) with a 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. |
I think that's a general problem with these functions, they are more readable once done but require some manual editing to get spacing right. |
@LaDilettante: The reformatting problem is alleviated with #127. Happy to review a PR. |
- Test for frame_matrix() basic functionalities - Extract the code that parses tribble(...) arguments. Re-use that code for both tribble and frame_matrix
- Test for frame_matrix() basic functionalities - Extract the code that parses tribble(...) arguments. Re-use that code for both tribble and frame_matrix
- Test for frame_matrix() basic functionalities - Extract the code that parses tribble(...) arguments. Re-use that code for both tribble and frame_matrix
- Test for frame_matrix() basic functionalities - Extract the code that parses tribble(...) arguments. Re-use that code for both tribble and frame_matrix
- 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.
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. |
I think it would make sense to have a matrix equivalent of
nibble()
/frame_data()
. It would be useful for defining small covariance and correlation matrices in a readable way. Such small matrices are probably a more common use case than small data frames.It should support column names:
As well as row names:
Or both:
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:
These are all a lot more readable in a script than:
The text was updated successfully, but these errors were encountered: