-
Notifications
You must be signed in to change notification settings - Fork 10
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
Irregular tables #107
Comments
Yea, I was worried about tables like this. Have you seen anything in the XML metadata that would suggest standard ways of handling irregular tables? Do you have a sense of how many different structures there are? more on the order of 10 or 100? If the former, I think defining the structure in advance could work; if the latter then would have to address in a more dynamic way I think. |
Some details
Unsure you would want to include either of these tables. For tables with increments other than IDEC tables aren't really mortality tables so I don't know removing them would detract from the package and I think they are just trouble. I think the next step is to parse the Edit: I think maybe a pivot table that uses Google Sheets will be best. I think I can get it done tomorrow. I assume problematic tables are just any table that doesn't fit the following pattern:
|
I normalized the data, each row corresponds to an https://github.com/actuarialopensource/NormalizeMetadata/blob/main/SOA_Tables_20210915.csv I did a quick pivot table to find XTbML files with many https://docs.google.com/spreadsheets/d/1dQx8nz7uOdbCd8MLPjlNISS35IguG25ztljOOwNBYVk/edit?usp=sharing Remember that each row represents an Edit: I can do the analysis and submit a PR. Will likely end up removing a good number of tables. |
I like this idea because it doesn't remove tables and it doesn't increase the complexity of the codebase too much by trying to handle edge cases.
I think XTBML is okay, it is just XML. It definitely could be JSON, but the two can be used interchangeably here I believe. XMLDict.jl can turn XML into dictionary objects, which I see is a dependency of this package. I am leaning towards providing these dicts as the backup to the MortalityTable type when the table doesn't work well with the package. The data itself being bad would be a separate issue. I think XML is not an issue. The people at ACORD are producing XML standards for the insurance industry, they have several XML standards that they are managing. XML is also used for Learning Management System interoperability (driven by IMS Global Learning Consortium), and EPUB (W3C), it is pretty common for data exchange standards.
I ran a pivot table and The info is officially in the
This will work but first maybe just do something simple and it can be a separate issue that is opened after this one is closed? Right now the codebase is pretty straightforward and there is a lot of value in that, at least for me as a new contributor. I edited the issue to include a task list with two tasks that I think will allow us to close the issue. I think the less one-off stuff is done the better. Instead of just giving users the dict that XMLdict gives from the XML on irregular tables, I can imagine giving them some sort of struct though. Maybe it will have a list of objects that represent tables. |
Errors on some tables
The text was updated successfully, but these errors were encountered: