Skip to content
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

read old tilia (.til) files? #219

Open
orb16 opened this issue Mar 30, 2017 · 3 comments
Open

read old tilia (.til) files? #219

orb16 opened this issue Mar 30, 2017 · 3 comments

Comments

@orb16
Copy link

orb16 commented Mar 30, 2017

A feature request for your consideration: a function to read old tilia files? Old as in version 1.0, '.til' rather than '.tilx'. I have a dosbox to run DOS tilia, but it would be awesome to loop through (all) the files and read them in. I've tried the read.tilia function from this package (fails) and read.Tilia from therioja. The read.Tilia doesn't fail but doesn't bring in all the data.

@SimonGoring
Copy link
Member

If you could attach a version of a file you would like read I'll see what I can do. I don't have a lot of bandwidth right now though :/ I can look at read.Tilia() as well.

@orb16
Copy link
Author

orb16 commented Mar 31, 2017

Yes of course! I need to check with my boss which are ok to put on here - will be Monday when I know. Cheers.

@orb16
Copy link
Author

orb16 commented Apr 3, 2017

Please see the attached zip folder (includes data and an R script which demonstrates the problem github_tilia_issue.zip). There's two problems with read.Tilia():

(1) Illegal characters are returned differently in the returned "data" element (using the nomenclature from the R help entry) compared to the "vars" argument. This is problematic as no merges can be done - any illegal names won't match. Moreso when extra rows have been added to either the data or the vars in Tilia originally, meaning even if it is safe to cbind() the columns, it is no longer possible. An inner_join() or similar would get around this, but for the illegal characters

(2) Some files are so corrupt they cannot be opened (so corrupt they won't open DOSTILIA or C2). That's ok - they are superfluous, but the C++ code appears to leave connections open if when a file fails, meaning if I am looping through a list of .TIL files some of which are corrupt, eventually the loop fails with a "too many open connections" error. I have tried closing all the connections but that doesn't seem to work.

I have also emailed Steve Juggins who is the package maintainer of rioja, and let him know the files and code are here: ideally at least one package might have the capacity to read old .til files? As noted (example in the script) read.tilia() just fails with an error.

Background: I'm working to 'revive' a bunch of .til files so they are available for use in the future.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants