-
-
Notifications
You must be signed in to change notification settings - Fork 104
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
Submission - melt: Multiple Empirical Likelihood Tests #550
Comments
Thanks for submitting to rOpenSci, our editors and @ropensci-review-bot will reply soon. Type |
🚀 Editor check started 👋 |
Checks for melt (v1.6.0.9000)git hash: 1b9bbebd
Package License: GPL (>= 2) 1. rOpenSci Statistical Standards (
|
type | package | ncalls |
---|---|---|
internal | base | 146 |
internal | melt | 66 |
imports | methods | 83 |
imports | stats | 66 |
imports | graphics | 8 |
imports | Rcpp | NA |
suggests | covr | NA |
suggests | ggplot2 | NA |
suggests | knitr | NA |
suggests | microbenchmark | NA |
suggests | rmarkdown | NA |
suggests | spelling | NA |
suggests | testthat | NA |
suggests | withr | NA |
linking_to | BH | NA |
linking_to | dqrng | NA |
linking_to | Rcpp | NA |
linking_to | RcppEigen | NA |
Click below for tallies of functions used in each package. Locations of each call within this package may be generated locally by running 's <- pkgstats::pkgstats(<path/to/repo>)', and examining the 'external_calls' table.
base
list (15), q (14), attr (13), warning (13), numeric (12), c (7), nrow (7), integer (6), length (5), print (5), as.integer (4), match.call (4), names (4), ncol (4), tryCatch (4), do.call (3), if (3), mean (3), as.vector (2), cbind (2), logical (2), match (2), rownames (2), as.matrix (1), colMeans (1), is.null (1), matrix (1), NROW (1), rbind (1), sqrt (1), sum (1), t (1), table (1)
methods
setGeneric (36), setMethod (36), setClass (11)
melt
error (13), el_control (8), validate_optim (4), calibrate (3), compute_EL (3), validate_weights (3), compute_generic_EL (2), get_max_threads (2), test_GLM (2), test_LM (2), validate_family (2), compute_bootstrap_calibration (1), compute_confidence_intervals (1), compute_confidence_region (1), compute_ELD (1), el_eval (1), el_glm (1), el_lm (1), el_mean (1), el_sd (1), get_rank (1), test_hypothesis (1), test_multiple_hypotheses (1), validate_alpha (1), validate_b (1), validate_calibrate (1), validate_cv (1), validate_hypotheses (1), validate_hypothesis (1), validate_keep_data (1), validate_level (1), validate_lhs (1), validate_x (1)
stats
formula (14), df (8), offset (6), optim (6), na.action (5), weights (5), family (4), pchisq (3), step (3), contrasts (2), model.response (2), model.weights (2), sd (2), glm.fit (1), pf (1), qchisq (1), qf (1)
graphics
par (8)
NOTE: Some imported packages appear to have no associated function calls; please ensure with author that these 'Imports' are listed appropriately.
3. Statistical Properties
This package features some noteworthy statistical properties which may need to be clarified by a handling editor prior to progressing.
Details of statistical properties (click to open)
The package has:
- code in C++ (53% in 15 files) and R (47% in 29 files)
- 1 authors
- 2 vignettes
- 1 internal data file
- 4 imported packages
- 59 exported functions (median 4 lines of code)
- 120 non-exported functions in R (median 7 lines of code)
- 91 R functions (median 14 lines of code)
Statistical properties of package structure as distributional percentiles in relation to all current CRAN packages
The following terminology is used:
loc
= "Lines of Code"fn
= "function"exp
/not_exp
= exported / not exported
All parameters are explained as tooltips in the locally-rendered HTML version of this report generated by the checks_to_markdown()
function
The final measure (fn_call_network_size
) is the total number of calls between functions (in R), or more abstract relationships between code objects in other languages. Values are flagged as "noteworthy" when they lie in the upper or lower 5th percentile.
measure | value | percentile | noteworthy |
---|---|---|---|
files_R | 29 | 88.8 | |
files_src | 15 | 95.4 | |
files_vignettes | 2 | 85.7 | |
files_tests | 17 | 95.3 | |
loc_R | 1629 | 80.0 | |
loc_src | 1827 | 74.0 | |
loc_vignettes | 129 | 33.7 | |
loc_tests | 1243 | 89.7 | |
num_vignettes | 2 | 89.2 | |
data_size_total | 1311 | 61.2 | |
data_size_median | 1311 | 65.8 | |
n_fns_r | 179 | 88.1 | |
n_fns_r_exported | 59 | 90.2 | |
n_fns_r_not_exported | 120 | 87.0 | |
n_fns_src | 91 | 78.1 | |
n_fns_per_file_r | 3 | 55.1 | |
n_fns_per_file_src | 6 | 55.6 | |
num_params_per_fn | 2 | 11.9 | |
loc_per_fn_r | 7 | 16.0 | |
loc_per_fn_r_exp | 4 | 4.3 | TRUE |
loc_per_fn_r_not_exp | 7 | 18.0 | |
loc_per_fn_src | 14 | 46.6 | |
rel_whitespace_R | 8 | 59.8 | |
rel_whitespace_src | 5 | 49.5 | |
rel_whitespace_vignettes | 8 | 6.5 | |
rel_whitespace_tests | 8 | 72.2 | |
doclines_per_fn_exp | 34 | 40.2 | |
doclines_per_fn_not_exp | 0 | 0.0 | TRUE |
fn_call_network_size | 253 | 90.8 |
3a. Network visualisation
Click to see the interactive network visualisation of calls between objects in package
4. goodpractice
and other checks
Details of goodpractice checks (click to open)
3a. Continuous Integration Badges
GitHub Workflow Results
id | name | conclusion | sha | run_number | date |
---|---|---|---|---|---|
2673111985 | pages build and deployment | success | 6ac77c | 46 | 2022-07-14 |
2673079345 | pkgcheck | failure | 1b9bbe | 51 | 2022-07-14 |
2673079344 | pkgdown | success | 1b9bbe | 49 | 2022-07-14 |
2673079342 | R-CMD-check | success | 1b9bbe | 71 | 2022-07-14 |
2673079354 | test-coverage | success | 1b9bbe | 153 | 2022-07-14 |
3b. goodpractice
results
R CMD check
with rcmdcheck
R CMD check generated the following note:
- checking installed package size ... NOTE
installed size is 77.8Mb
sub-directories of 1Mb or more:
libs 77.2Mb
R CMD check generated the following check_fail:
- rcmdcheck_reasonable_installed_size
Test coverage with covr
Package coverage: 99.78
Cyclocomplexity with cyclocomp
The following function have cyclocomplexity >= 15:
function | cyclocomplexity |
---|---|
el_glm | 18 |
Static code analyses with lintr
lintr found the following 5 potential issues:
message | number of times |
---|---|
Avoid library() and require() calls in packages | 4 |
Lines should not be more than 80 characters. | 1 |
Package Versions
package | version |
---|---|
pkgstats | 0.1.1.3 |
pkgcheck | 0.0.3.76 |
srr | 0.0.1.167 |
Editor-in-Chief Instructions:
This package is in top shape and may be passed on to a handling editor
Hi @markean - I just wanted to provide a brief update here. I apologize for the delay in next steps here; it's not for lack of excitement to kick off this review! I hope to have a handling editor ready to assign next week. |
Thanks for the update @emilyriederer! |
@ropensci-review-bot assign @Paula-Moraga as editor |
Assigned! @Paula-Moraga is now the editor |
@markean , I'm delighted to share that @Paula-Moraga will serve as editor for this package. She is away this week but is available to commence next week. We will be in more touch soon! |
@emilyriederer, thanks for the news! |
Hi @markean. I am pleased to handle this package. I will look for reviewers. |
@ropensci-review-bot seeking reviewers |
I'm sorry @Paula-Moraga, I'm afraid I can't do that. That's something only editors are allowed to do. |
Hi @Paula-Moraga. Thank you for your time and effort. Please let me know if there is anything I can help in the review process. |
Done! I'll ask the bot team on Slack if they know why @Paula-Moraga couldn't herself since she is, in fact, the editor! |
@ropensci-review-bot assign @pchausse as reviewer |
@pchausse added to the reviewers list. Review due date is 2022-08-25. Thanks @pchausse for accepting to review! Please refer to our reviewer guide. rOpenSci’s community is our best asset. We aim for reviews to be open, non-adversarial, and focused on improving software quality. Be respectful and kind! See our reviewers guide and code of conduct for more. |
@ropensci-review-bot set due date for @pchausse to 2022-09-05 |
Review due date for @pchausse is now 05-September-2022 |
Hi @pchausse. Thank you so much for reviewing our package. Please let me know if you have any question. A draft version of pdf vignette in |
@ropensci-review-bot assign @awstringer1 as reviewer |
@awstringer1 added to the reviewers list. Review due date is 2022-08-29. Thanks @awstringer1 for accepting to review! Please refer to our reviewer guide. rOpenSci’s community is our best asset. We aim for reviews to be open, non-adversarial, and focused on improving software quality. Be respectful and kind! See our reviewers guide and code of conduct for more. |
@awstringer1: If you haven't done so, please fill this form for us to update our reviewers records. |
Hi @awstringer1! Thank you for reviewing the package. Please let me know if you have any question. A draft version of pdf vignette in @pchausse and @awstringer1: By an external request, a newer version of the package will be released to CRAN in August with some minor updates. It will not interfere with the review process, but I will tag it after the release. Then the reviewer comments will be reflected to the package in a subsequent release. |
📆 @awstringer1 you have 2 days left before the due date for your review (2022-08-29). |
Many thanks @awstringer1 for your review! You can of course ignore the previous bot message :) |
@ropensci-review-bot submit review #550 (comment) time 8 |
Logged review for awstringer1 (hours: 8) |
Many thanks @markean for answering @awstringer1's comments so quickly. @awstringer1 can tell you whether he is satisfied with them or has additional comments. @pchausse will submit his review soon. Thanks all! |
melt-review-chausse-exported.pdf Here is my review. I was trying to make some of my points with some R codes, but I think it does not work here. I will also attach the pdf. My review is based on Version 1.7.0 from CRAN. Package Review
Compliance with Standards
The following standards currently deemed non-applicable (through tags G1.6 Software should include code necessary to compare performance
This is clearly not a package suited for a unique application. the Comments"@srrstats {RE1.4} Some of the core distributional assumptions are "@srrstats {RE4.11}
This is the log-likelihood of what? If I understand correctly (not
After more testing, it seems to be the one from the unrestricted model
I think this needs to be explained in more details. "@srrstats {RE6.0}
General ReviewThis is a very well designed package. The outputs of the different DocumentationThe package includes all the following forms of documentation:
I think we should see a more detailed presentation of why one would
There is room for improvement here. The
|
Thanks so much @pchausse for your review! |
@ropensci-review-bot submit review #550 (comment) time 16 |
Logged review for pchausse (hours: 16) |
Hi @pchausse, thank you for your review and feedback. Your comments have greatly improved the documentation. Some notable updates on the code include: a new Response to @pchausseCompliance with Standards
Since we do not make performance claims compared to other packages, please check the benchmark result below for reference only. We constructed EL confidence intervals for the mean with 100 observations using the melt, momentfit, and emplik packages. Default settings were used for each package.
Comments
The updated documentation of
General ReviewDocumentation
Please check the updated README file. We have added more details in the The
|
Many thanks @markean for working on the comments so quickly! @awstringer1 and @pchausse, can you please take a look and say whether your comments were well addressed or you have additional questions? Thanks! |
Thanks to @markean for the response. I was waiting until both reviews and responses were in, to avoid redundancy. All my major comments have been addressed. My only minor comment is about the optimization. I don't think it is true that "the objective function is strictly concave without any constraint. Thus, the Newton–Raphson method converges quadratically to the unique solution."– see Nocedal and Wright's Numerical Optimization, Theorem 3.5, page 46. There are non-trivial initial conditions, namely that the starting value has to be "close enough" to the optimum, else it will diverge. If Newton with step-halving has worked so far, then that's good enough for me (and perhaps there is some additional theory here about why it works in this context that I do not know), but if it ever becomes a practical problem in the future, the authors could consider trust region optimization. See Chapter 4 in that same book, or the |
Thanks @markean for your response. All my comments have also been addressed. |
Thanks again, @pchausse and @awstringer1. As for the optimization, it can be seen from Art Owen's Empirical Likelihood (2001, page 63) that the objective function is twice continuously differentiable with the Lipschitz continuous Hessian by using a pseudo-logarithm function. The initial |
Hi @Paula-Moraga. Can we proceed with this at your discretion if the reviewers have no further comments? |
Yes! Thanks so much @markean @awstringer1 @pchausse for your time and work. Very happy to approve the melt package! |
@ropensci-review-bot approve melt |
Approved! Thanks @markean for submitting and @pchausse, @awstringer1 for your reviews! 😁 To-dos:
Should you want to acknowledge your reviewers in your package DESCRIPTION, you can do so by making them Welcome aboard! We'd love to host a post about your package - either a short introduction to it with an example for a technical audience or a longer post with some narrative about its development or something you learned, and an example of its use for a broader readership. If you are interested, consult the blog guide, and tag @ropensci/blog-editors in your reply. They will get in touch about timing and can answer any questions. We maintain an online book with our best practice and tips, this chapter starts the 3d section that's about guidance for after onboarding (with advice on releases, package marketing, GitHub grooming); the guide also feature CRAN gotchas. Please tell us what could be improved. Last but not least, you can volunteer as a reviewer via filling a short form. |
Thank you @Paula-Moraga! |
@ropensci-review-bot finalize transfer of melt |
Transfer completed. |
Date accepted: 2022-09-20
Submitting Author Name: Eunseop Kim
Due date for @pchausse: 2022-09-05Submitting Author Github Handle: @markean
Repository: https://github.com/markean/melt
Version submitted: 1.6.0.9000
Submission type: Stats
Badge grade: silver
Editor: @Paula-Moraga
Reviewers: @pchausse, @awstringer1
Due date for @awstringer1: 2022-08-29
Archive: TBD
Version accepted: TBD
Language: en
Pre-submission Inquiry
General Information
Who is the target audience and what are scientific applications of this package?
Paste your responses to our General Standard G1.1 here, describing whether your software is:
The package attempts the first implementation of the nested bilevel optimization approach within R to compute constrained empirical likelihood. The inner layer Newton-Raphson method for empirical likelihood is written in C++, enabling faster computation than other routines written in R.
(If applicable) Does your package comply with our guidance around Ethics, Data Privacy and Human Subjects Research?
Yes.
Badging
What grade of badge are you aiming for? (bronze, silver, gold)
Silver.
If aiming for silver or gold, describe which of the four aspects listed in the Guide for Authors chapter the package fulfils (at least one aspect for silver; three for gold)
In my opinion, the generality comes from the applicability of empirical likelihood methods to (generalized) linear models and the ability to test linear hypotheses of choice.
Technical checks
Confirm each of the following by checking the box.
autotest
checks on the package, and ensured no tests fail.srr_stats_pre_submit()
function confirms this package may be submitted.pkgcheck()
function confirms this package may be submitted - alternatively, please explain reasons for any checks which your package is unable to pass.This package:
Publication options
The package is on CRAN.
Code of conduct
The text was updated successfully, but these errors were encountered: