-
Notifications
You must be signed in to change notification settings - Fork 50
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
activate()-style API #89
Comments
|
I am not sure what you have in mind for The default condition for Either way, All of this means that nothing from the old table is ultimately kept, so perhaps you had in mind something more subtle that would only update certain columns keeping the other in place. So please clarify. ++ |
We intend to override all dplyr verbs so that they keep track what columns have been renamed, removed, created or overwritten. This allows, in theory, to accurately maintain a relationship after a Nothing is set in stone here, happy to discuss. |
As I understand it With this in mind, I thought that Thus it would look like Appologies if I missunderstood something fundamental... |
It looks like we're thinking along the same lines. I'd really like to avoid having to mention This is also the way I understood the {tidygraph} API from which this ideas borrow. |
OK, I get your point and agree with you that repeating If the alternative is something like Perhaps But then, what about I hope this discussion helps you... |
The printed output after an interim step would be a tibble with additional information on the dm it belongs to -- similar to the output of We override We also keep a transformation map between original and new columns after all verbs. This allows to update primary and foreign keys when (re)inserting back into the dm. Thanks a lot for your input, I really appreciate another pair of eyes here. |
I would disconnect the tibble from the dm when I think you are right about the printing behaviour. We should perhaps discuss the assignment strategy: would you have something like The more I think of it the more the whole thing looks like a I know you are far from finalizing names but if you stick to |
Should updating or inserting back also unzoom/unfocus? Do we need then a "pure" unzoom that discards the table? |
Yes perhaps updating or inserting should unzoom, but that does not prevent for the need of a "pure" unzoom function. Imagine e.g. that people focus on a tibble and then decide not to. Calling update would feel weird... |
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. |
With #57 and part of #54 we're now ready to start looking into an API that extracts a table from a dm but keeps the context, so that it can be put back.
How do we put back a table?
How are the verbs called?
We temporarily remove a piece of a mosaic and reinsert it or perhaps insert a replica. Is reinsertion different from adding a new version? Maybe
zoom_to_tbl()
,update_tbl()
,insert_tbl()
?Roadmap
zoom_to_tbl()
andupdate_tbl()
, withprint()
andformat()
methodselect.dm()
andrename.dm()
, with a nice error message if not activatedfilter.dm()
mutate.dm()
andtransmute.dm()
summarise.dm()
group_by.dm()
,ungroup.dm()
Independently:
cdm_add_tbl()
(useful for Add new article "How to construct a dm" #77)insert_tbl()
The text was updated successfully, but these errors were encountered: