pbiecek / archivist

A set of tools for datasets and plots archiving
http://pbiecek.github.io/archivist/
74 stars 9 forks source link

Add jss paper as an .Rnw vignette to the package #310

Closed pbiecek closed 7 years ago

pbiecek commented 7 years ago

and update citations to journal = {Journal of Statistical Software}, note = {Conditionally accepted for publication}

pbiecek commented 7 years ago

It is encouraged to include the paper as a vignette in the package (not just the PDF). The JSS style guide at https://www.jstatsoft.org/about/submissions also has the two items

MarcinKosinski commented 7 years ago

I'll have a look on this. I am aware or including PDF files as vignettes with R.rsp https://cran.r-project.org/web/packages/R.rsp/vignettes/R_packages-Static_PDF_and_HTML_vignettes.pdf but JSS methods are also an option

MarcinKosinski commented 7 years ago

@pbiecek I have followed

How should my R package reflect that a manuscript about it was published in JSS?

You should enhance the R package in three ways:

    Include a reference for the JSS paper in the \references{} section of the relevant .Rd pages.
    Include a CITATION file in inst/CITATION within the package.  A suitable file is provided by the JSS editors when the final manuscript is ready for publication.
    Turn the JSS manuscript into a package vignette.  For details see the next FAQ item.

and provided a reference template - you can edit it as it should be filled and then please rebuild package so that this reference template is used all over the package. https://github.com/pbiecek/archivist/blob/master/man-roxygen/roxlate-references.R

I have also updated CITATION with new year, url and note. I think you should fill the textVersion as I finally have no idea how it will look https://github.com/pbiecek/archivist/blob/master/inst/CITATION#L13 as it is written

A suitable file is provided by the JSS editors when the final manuscript is ready for publication.

What next

Now I am going to How can I turn my JSS paper into an R package vignette?

pbiecek commented 7 years ago

Thanks! In references we can link to conditionally accepted JSS in addition to github link. What do you think?

MarcinKosinski commented 7 years ago

About steps in How can I turn my JSS paper into an R package vignette?

Use the JSS paper as the basis for a package vignette.  If you have not done so already, use Sweave-style code chunks for all input/output and graphics.  See the Sweave manual for more details.

I've just copied the jss2342.tex to vignettes/ directory as jss2342.Rnw and also moved jss2324.bib and Figures/ directory.

Turn off the JSS header and footer by using the nojss option \documentclass[nojss]{jss}

Done

Cite the JSS paper in the vignette (in the abstract or intro).

Not done as I do now know how to cite the JSS paper.

MarcinKosinski commented 7 years ago

@pbiecek If you know how to write the proper form of JSS conditional acceptance then please fill this file https://github.com/pbiecek/archivist/blob/master/man-roxygen/roxlate-references.R (I don't know If the name of the Journal should be at the beginning or in the end.

MarcinKosinski commented 7 years ago

By the way - we do not have a code that can be run. All chunks are in the plain latex.

pbiecek commented 7 years ago

I've updated the references file.

Regarding the R code. I guess that turning the article in the vignette is related with conversion of the plain latex to the truly reproducible script. Do you think it's doable?

MarcinKosinski commented 7 years ago

gsubing sinput/soutput with the beginning and the end of the sweave chunk but in our situation we will get different hashes for every vignette compilation : /

pbiecek commented 7 years ago

Why different hashes? if it's because of the parental environment then maybe we shall use local() function?

2017-03-15 16:46 GMT+01:00 Marcin Kosiński notifications@github.com:

gsubing sinput/soutput with the beginning and the end of the sweave chunk but in our situation we will get different hashes for every vignette compilation : /

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/pbiecek/archivist/issues/310#issuecomment-286784207, or mute the thread https://github.com/notifications/unsubscribe-auth/AEaPvvqM4HiH4mEpJAT1yqi1_n5BNbJAks5rmAfLgaJpZM4L8n14 .

-- pozdrawiam serdecznie, Przemysław Biecek

MarcinKosinski commented 7 years ago

Hashes aren't connected with the random seed?

2017-03-15 17:00 GMT+01:00 Przemysław Biecek notifications@github.com:

Why different hashes? if it's because of the parental environment then maybe we shall use local() function?

2017-03-15 16:46 GMT+01:00 Marcin Kosiński notifications@github.com:

gsubing sinput/soutput with the beginning and the end of the sweave chunk but in our situation we will get different hashes for every vignette compilation : /

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub <https://github.com/pbiecek/archivist/issues/310#issuecomment-286784207 , or mute the thread https://github.com/notifications/unsubscribe- auth/AEaPvvqM4HiH4mEpJAT1yqi1_n5BNbJAks5rmAfLgaJpZM4L8n14 .

-- pozdrawiam serdecznie, Przemysław Biecek

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/pbiecek/archivist/issues/310#issuecomment-286789120, or mute the thread https://github.com/notifications/unsubscribe-auth/AGdazhfdk76SSomxRfHEUkqIAV1HYZN7ks5rmAskgaJpZM4L8n14 .

pbiecek commented 7 years ago

No, md5 hashes are cryptographic id's, they are related only to the content of the object

2017-03-15 17:05 GMT+01:00 Marcin Kosiński notifications@github.com:

Hashes aren't connected with the random seed?

2017-03-15 17:00 GMT+01:00 Przemysław Biecek notifications@github.com:

Why different hashes? if it's because of the parental environment then maybe we shall use local() function?

2017-03-15 16:46 GMT+01:00 Marcin Kosiński notifications@github.com:

gsubing sinput/soutput with the beginning and the end of the sweave chunk but in our situation we will get different hashes for every vignette compilation : /

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub <https://github.com/pbiecek/archivist/issues/310# issuecomment-286784207 , or mute the thread https://github.com/notifications/unsubscribe- auth/AEaPvvqM4HiH4mEpJAT1yqi1_n5BNbJAks5rmAfLgaJpZM4L8n14 .

-- pozdrawiam serdecznie, Przemysław Biecek

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub <https://github.com/pbiecek/archivist/issues/310#issuecomment-286789120 , or mute the thread https://github.com/notifications/unsubscribe-auth/ AGdazhfdk76SSomxRfHEUkqIAV1HYZN7ks5rmAskgaJpZM4L8n14 .

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/pbiecek/archivist/issues/310#issuecomment-286790842, or mute the thread https://github.com/notifications/unsubscribe-auth/AEaPvtCUTjiAJAqN62SfX4Ec7Ckk57Aeks5rmAxLgaJpZM4L8n14 .

-- pozdrawiam serdecznie, Przemysław Biecek

MarcinKosinski commented 7 years ago

Ok, then the chunk substitution/replacement should be provided.

2017-03-15 17:08 GMT+01:00 Przemysław Biecek notifications@github.com:

No, md5 hashes are cryptographic id's, they are related only to the content of the object

2017-03-15 17:05 GMT+01:00 Marcin Kosiński notifications@github.com:

Hashes aren't connected with the random seed?

2017-03-15 17:00 GMT+01:00 Przemysław Biecek notifications@github.com:

Why different hashes? if it's because of the parental environment then maybe we shall use local() function?

2017-03-15 16:46 GMT+01:00 Marcin Kosiński notifications@github.com:

gsubing sinput/soutput with the beginning and the end of the sweave chunk but in our situation we will get different hashes for every vignette compilation : /

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub <https://github.com/pbiecek/archivist/issues/310# issuecomment-286784207 , or mute the thread https://github.com/notifications/unsubscribe- auth/AEaPvvqM4HiH4mEpJAT1yqi1_n5BNbJAks5rmAfLgaJpZM4L8n14 .

-- pozdrawiam serdecznie, Przemysław Biecek

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub <https://github.com/pbiecek/archivist/issues/310# issuecomment-286789120 , or mute the thread https://github.com/notifications/unsubscribe-auth/ AGdazhfdk76SSomxRfHEUkqIAV1HYZN7ks5rmAskgaJpZM4L8n14 .

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub <https://github.com/pbiecek/archivist/issues/310#issuecomment-286790842 , or mute the thread https://github.com/notifications/unsubscribe-auth/ AEaPvtCUTjiAJAqN62SfX4Ec7Ckk57Aeks5rmAxLgaJpZM4L8n14

.

-- pozdrawiam serdecznie, Przemysław Biecek

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/pbiecek/archivist/issues/310#issuecomment-286791893, or mute the thread https://github.com/notifications/unsubscribe-auth/AGdazlh8lwPW-9xGTxhFJ4Rq0x82tQ4mks5rmA0KgaJpZM4L8n14 .

MarcinKosinski commented 7 years ago

Let me do that

pbiecek commented 7 years ago

Thanks!

2017-03-15 17:59 GMT+01:00 Marcin Kosiński notifications@github.com:

Let me do that

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/pbiecek/archivist/issues/310#issuecomment-286808842, or mute the thread https://github.com/notifications/unsubscribe-auth/AEaPvnJqFXEINcRgIddx_Cfb7lEgo0CIks5rmBkLgaJpZM4L8n14 .

-- pozdrawiam serdecznie, Przemysław Biecek

MarcinKosinski commented 7 years ago

@pbiecek I've recreated the vignette locally so that we now use R chunks instead of LaTeX sinputs. This means that the vignette can be run.

As I mentioned a month ago

we will get different hashes for every vignette compilation

and we get them (print screen below)

archivist_hashe

MarcinKosinski commented 7 years ago

I will parametrize the vignette to take the first hash of the repository instead of hardcoding hashes. The hashes for object might be various as I am maybe using different libraries versions that those in which we compiled the article.

MarcinKosinski commented 7 years ago

To sum up. I have taken the original vignette from the e-mail of the final acceptance to the JSS. I have substituted LaTeX sinputs to code chunks.

I have changed this hash 11127cc6ce69a89d11d0e30865a33c13 to the 7f3453331910e3f321ef97d87adb5bad (link - https://github.com/pbiecek/archivist/commit/f4052df9bb434d492742588070c473e8dc7ca4de#commitcomment-21775547) I have removed this call setLocalRepo(repoDir = repo) so that the asession execution takes the object from the proper repository (link - https://github.com/pbiecek/archivist/commit/f4052df9bb434d492742588070c473e8dc7ca4de#commitcomment-21775544)

MarcinKosinski commented 7 years ago

this hash 7f3453331910e3f321ef97d87adb5bad is used to create the repository (here https://github.com/pbiecek/archivist/commit/f4052df9bb434d492742588070c473e8dc7ca4de#diff-e342c6e36d2ef51726fe33c60504dffdR311)

pbiecek commented 7 years ago

Thanks for taking care about this issue. For session hashes - they are different because R sessions are different Do for other objects the hashes shall be the same*.

(*) a possible exception is that the object contains a link to some environment and there are different parent environments.

MarcinKosinski commented 7 years ago

Everything else was OK. This hash actually wasn't different due to the different R session. We were taking the asession for an object that was copied to the local repository from the github repository. You can check the dates are from

  1. We have copied one object only (and with that object it's data and session .rda was copied also) but were trying to restore session for another object which was not in that repo. This might be a mistake in copy-pastying the R results to LaTeX sinputs.

2017-04-15 19:19 GMT+02:00 Przemysław Biecek notifications@github.com:

Thanks for taking care about this issue. For session hashes - they are different because R sessions are different Do for other objects the hashes shall be the same*.

(*) a possible exception is that the object contains a link to some environment and there are different parent environments.

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/pbiecek/archivist/issues/310#issuecomment-294306539, or mute the thread https://github.com/notifications/unsubscribe-auth/AGdazkzmL88L8KHu9Gg5_7R4JqLDrVD2ks5rwPwygaJpZM4L8n14 .

pbiecek commented 7 years ago

@MarcinKosinski Would you check if

devtools::install_github("pbiecek/archivist", build_vignettes = TRUE)

is working for you? I have some problems with Tcl/Tk and OSX

MarcinKosinski commented 7 years ago

Maybe this is the source https://github.com/pbiecek/archivist/commit/465dc0b4c0bbae995ef3dcbb78c13b948a7b4a01#commitcomment-21966841

MarcinKosinski commented 7 years ago

Works like a charm

> library(devtools)
>   install_github('pbiecek/archivist', build_vignettes = TRUE, force = TRUE)
Downloading GitHub repo pbiecek/archivist@master
from URL https://api.github.com/repos/pbiecek/archivist/zipball/master
Installing archivist
"C:/PROGRA~1/R/R-33~1.3/bin/x64/R" --no-site-file  \
  --no-environ --no-save --no-restore --quiet CMD build  \
  "C:\Users\kosteck\AppData\Local\Temp\RtmpEJ1JUN\devtools37d412d4420e\pbiecek-archivist-b0da29e"  \
  --no-resave-data --no-manual 

* checking for file 'C:\Users\kosteck\AppData\Local\Temp\RtmpEJ1JUN\devtools37d412d4420e\pbiecek-archivist-b0da29e/DESCRIPTION' ... OK
* preparing 'archivist':
* checking DESCRIPTION meta-information ... OK
* installing the package to build vignettes
* creating vignettes ... OK
* checking for LF line-endings in source and make files
* checking for empty or unneeded directories
Removed empty directory 'archivist/docs'
Removed empty directory 'archivist/man-roxygen'
* building 'archivist_2.1.3.tar.gz'

"C:/PROGRA~1/R/R-33~1.3/bin/x64/R" --no-site-file  \
  --no-environ --no-save --no-restore --quiet CMD INSTALL  \
  "C:/Users/kosteck/AppData/Local/Temp/RtmpEJ1JUN/archivist_2.1.3.tar.gz"  \
  --library="C:/Users/kosteck/Documents/R/win-library/3.3"  \
  --install-tests 

* installing *source* package 'archivist' ...
** R
** demo
** inst
** tests
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded
*** arch - i386
*** arch - x64
* DONE (archivist)
> library(archivist)
Welcome to archivist (version: 2.1.3).
> browseVignettes('archivist')

I think in the github installation mode user could see vignettes that are in the .Rbuildignore but in the moment we will create the .tar.gz for the CRAN publication those vignettes will not be included. This is OK since I only would like to have those vignettes in the pkgdown website, in the articles section.

vig vignettes
pbiecek commented 7 years ago

@MarcinKosinski Hi, are you still working on this or it's done and can be closed?

MarcinKosinski commented 7 years ago

It was done some time ago

Marcin Kosinski

Dnia 23.06.2017 o godz. 11:47 Przemysław Biecek notifications@github.com napisał(a):

@MarcinKosinski Hi, are you still working on this or it's done and can be closed?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.