Hi Hadley,
Thanks for answering.  I basically followed what was outlined in Software for 
Data Analysis.  Although, I must admit it was a little light in this area 
(about a paragraph).  I will have to do some additional reading/research on the 
RDS inside a gz issue.  If it is not the correct application then I need to 
correct what I am doing.

To the second issue, I am exposing then data via a function to provide data 
storage/retrieval flexibility because cusip data for MBS securities can go to 
the terabyte.  Additionally, in the case of a REMIC (a resecuritization)  the 
cusip detail is assembled from many objects (a one to many relationship) before 
analysis begins.

So, based on the above I was thinking that one could have the data stored 
remotely (SQL, etc.) and edit the connection function as needed to point it to 
the required cusip data.  Is there a better way to do this?


-Glenn

On Aug 09, 2015, at 09:23 AM, Hadley Wickham <h.wick...@gmail.com> wrote:

Also it's a little strange to put an RDS file _inside_ a gz, since
normally the compression is done internally.

And are you sure you should be exposing this data via a function,
rather than using the regular package data mechanism?

Hadley

On Sun, Aug 9, 2015 at 7:04 AM, Joshua Ulrich <josh.m.ulr...@gmail.com> wrote:
On Sun, Aug 9, 2015 at 8:59 AM, Glenn Schultz <glennmschu...@me.com> wrote:
Hi All,

I use connections to open and close data folders needed by my package.
After each function closes I get the following warnings (depending on the
connection that has been opened).

10: closing unused connection 3
(/Library/Frameworks/R.framework/Versions/3.2/Resources/library/BondLab/BondData/bondlabMBS4.rds)

Below is the connection function that is related to the above warning:

#------------------------------------------------------------------------------------
#' A connection function to BondData calling MBS cusps
#'
#' Opens a connection to the BondData folder to call MBS cusip data
#' @param MBS.id A character string the MBS.id or cusip number current
MBS.id is supported
#' @export
MBS <- function(MBS.id = "character"){
MBS.Conn <- gzfile(description = paste(system.file(package
= "BondLab"),
"/BondData/", MBS.id, ".rds", sep = ""), open
= "rb")
MBS <- readRDS(MBS.Conn)
return(MBS)
close.connection(MBS.Conn)
}

I have googled this warning and it seems to be triggered when a function
terminates and the connection is open. But, I think the connection function
closes the connection once the object is returned. What am I doing wrong?

Your call to return() exits the function, so the close.connection()
call is never evaluated. Considering using on.exit() to close the
connection, since it will close the connection regardless of how the
function exits (e.g. because of an error).

-Glenn
______________________________________________
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel



--
Joshua Ulrich | about.me/joshuaulrich
FOSS Trading | http://www.fosstrading.com

______________________________________________
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel



--
http://had.co.nz/
______________________________________________
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel

Reply via email to