Alakazam related

Issue #39 resolved
ssnn created an issue

Warning: class "tbl_df" is defined (with package slot ‘alakazam’) but no metadata object found to revise superClass information---not exported? Making a copy in package ‘shm’

Possible solution: http://stackoverflow.com/questions/28871632/how-to-resolve-warning-messages-metadata-object-not-found-spatiallinesnull-cla

But: - CRAN packages should use only the public API. Hence they should not use entry points not declared as API in installed headers nor .Internal() nor .Call() etc calls to base packages. Also, ::: should not be used to access undocumented/internal functions in base packages. Such usages can cause packages to break at any time, even in patched versions of R. (https://cran.r-project.org/web/packages/policies.html)

Comments (7)

  1. Jason Vander Heiden

    This is probably due to these lines in Alakazam.R:

    setOldClass("data.frame")
    setOldClass("tbl_df")
    setClassUnion("GenericDataFrame", c("data.frame", "tbl_df"))
    

    Which are meant to fix the probably of wanting to put either a data.frame or tbl_df into an S4 object slot. Maybe there is a better way to handle this?

  2. ssnn reporter

    Yes, it's due to these lines. The hack I found is not recommended, because of CRAN's policy on the usage of ':::'. We will need to figure out another way.

  3. Jason Vander Heiden

    That's what I did originally, but it would be nice to maintain things as a tbl_df if they start that way.

  4. ssnn reporter

    We thought the same them. I also used coercion first but thought that it would be more efficient to avoid it and then defined the class union

  5. Jason Vander Heiden

    Went ahead and swapped the data.frame and tbl_df class union for coercion to data.frame in both alakazam and shm.

  6. Log in to comment