-
-
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
fingertipsR #168
Comments
👋 sebastian-fox |
Editor checks:
Editor commentsThank you for your submission, @sebastian-fox ! I see you are running the package on Travis already, but we do require a CI badge in your README as well as a continuous code coverage service (generally codecov or coveralls) and a badge from that, as well, so we can see package status at a glance. I'm seeking reviewers and will assign them once you've made this update. Here is output from
|
Thanks for taking a look at this. I have added the badges as requested. I have also improved the coverage of the package. I've also updated some of the code based on the goodpractice feedback |
@sebastian-fox You can add our Peer Review badge to your README. It will read "in-progress" and update after acceptance:
|
Hi @sebastian-fox @noamross, here's my review. Package ReviewBy Duncan Garmonsway @nacnudus
DocumentationThe package includes all the following forms of documentation:
Functionality
Final approval (post-review)
Estimated hours spent reviewing: Review CommentsThe fingertipsR package provides programmatic access to data published by Public Health England on the Fingertips website. This is useful in its own right, but especially because the downloads offered by the website appear to be exclusively as spreadsheets. The package has some fairly heavy dependencies (both dplyr and data.table), but makes the most of shiny and related packages to provide a searchable index of datasets. The vignettes demonstrate common usage and are easy to follow, and data structure is self-explanatory once it has been retrieved. READMEThe introductory statement explains that the package is for interacting with a data tool called 'Fingertips'. It would be helpful if it also explained what the Fingertips data tool is. The first installation instruction requires the devtools package. Please could you also give instructions that only use base R, e.g. https://stackoverflow.com/a/1474125/937932. Please can you also add an instruction for installing from CRAN, and make it clear that there is a difference, e.g. 'stable' vs 'development'. Please can the example in the README be described in full. The current text is generic:
The instruction for browsing vignettes only works if the vignettes have been installed, which is not the default. If using devtools, then the call should be devtools::install_github("PublicHealthEngland/fingertipsR",
build_vignettes = TRUE,
dependencies = "suggests") Life Expectancy vignetteI read this vignette before reading any of the function documentation, so some of my points are answered in the docs (but it would still be helpful not to have to go to the docs for the answers). The There seems to be a line missing
Should it be followed by library(fingertipsR) ? In the code chunk under 'IndicatorID', the comment beginning
If filtering the output of inds <- indicators()
life_expectancy <- inds[grepl("life expectancy", tolower(inds$IndicatorName)),]
# Because the same indicators are used in multiple profiles, there are many
# repeated indicators in this table (some with varying IndicatorName but same
# IndicatorID)
# This returns a record for each IndicatorID
life_expectancy <-
unique(life_expectancy[duplicated(life_expectancy$IndicatorID) == FALSE,
c("IndicatorID", "IndicatorName")])
knitr::kable(life_expectancy, row.names = FALSE)
Please could you explain the relationship between Typo: The quoted paragraph below begs the question, are there any other defaults, and are they guessable? What's the rationale? Also, what do
Typo in the docs for The deprivation section interrupts the workflow from finding the IDs to downloading the data with It also took me a while to understand what Should the error message below be if (!(Year %in% c(2010, 2011, 2012, 2015))) {
stop("Year must be either 2010 or 2015")
} The style of the following if (!(Year %in% c(2010, 2011, 2012, 2015))) {
stop("Year must be either 2010 or 2015")
}
else if (Year %in% c(2010, 2011, 2012)) {
IndicatorID <- 338
}
else if (Year == 2015) {
IndicatorID <- 91872
}
if (AreaTypeID == 101) {
if (Year %in% c(2010, 2015)) {
AreaFilter <- "District & UA"
}
else if (Year %in% c(2011, 2012)) {
stop("Year must be either 2010 or 2015 for AreaTypeID of 101 or 102")
}
}
else if (AreaTypeID == 102) {
if (Year %in% c(2010, 2015)) {
AreaFilter <- "County & UA"
}
else if (Year %in% c(2011, 2012)) {
stop("Year must be either 2010 or 2015 for AreaTypeID of 101 or 102")
}
}
else if (AreaTypeID == 7) {
AreaFilter <- "GP"
}
else {
stop("AreaTypeID must be either 101 (Local authority districts and Unitary Authorities), 102 (Counties and Unitary Authorities) or 7 (General Practice).")
} Here is a shorter version that I find easier to follow. if (!(Year %in% c(2010, 2011, 2012, 2015))) {
stop("Year must be either 2010 or 2015")
}
if (!(AreaTypeID %in% c(101, 102, 7))) {
stop("AreaTypeID must be either 101 (Local authority districts and Unitary Authorities), 102 (Counties and Unitary Authorities) or 7 (General Practice).")
}
if ((AreaTypeID %in% c(101, 102)) && !(Year %in% c(2010, 2015))) {
stop("Year must be either 2010 or 2015 for AreaTypeID of 101 or 102")
}
if (Year %in% c(2010, 2011, 2012)) IndicatorID <- 338
if (Year == 2015) IndicatorID <- 91872
if (AreaTypeID == 101) AreaFilter <- "District & UA"
if (AreaTypeID == 102) AreaFilter <- "County & UA"
if (AreaTypeID == 7) AreaFilter <- "GP" The output of
Interactively selecting indicators vignetteDoes the word 'significantly' in this sentence imply that a statistical significance test has been applied? If not then less loaded term may be better, e.g. 'notably', or an explanation of how the indicators are chosen.
library(fingertipsR)
library(ggplot2)
inds <- select_indicators() Have you considered wrapping the Function documentationIn general it would be helpful to make it clear that the named government departments are in the UK. area_types
category_types
deprivation_decile
fingertips_data
fingertips_redred
indicator_areatypes
indicator_metadata
indicators
profiles
select_indicators
|
Package ReviewPlease check off boxes as applicable, and elaborate in comments below. Your review is not limited to these topics, as described in the reviewer guide
DocumentationThe package includes all the following forms of documentation:
Functionality
Final approval (post-review)
Estimated hours spent reviewing: 5 Review CommentsThe DocumentationThe readme is a little sparse. Please add a statement of need. A more detailed description of what the Fingertips data source is would be nice. How is the data collected? What is scope of dataset? Ideally, a person who has never heard of the Fingertips dataset should be able to read the readme and then have a basic understanding of what the dataset is. Vignettes do a good job explaining how to use the package. Echoing @nacnudus flipping the "Deprivation" and "Extracting the data" sections from the "Life expectancy by deprivation" vignette would make the document flow better. The
For functions that take a long time to run, it would be wise to add a note to documentation saying so. FunctionalityThe Fingertips dataset is pretty substantial. This makes certain functionality pretty slow. There are a few ways the code could be optimized. These are simply suggestions on how to improve the code. I will still recommend approving this package even if you don't incorporate these changes.
This is also functionally equivalent to
@noamross has a good write up about why this idiom is memory inefficient in section 4 here Here is one example in the package: https://github.com/PublicHealthEngland/fingertipsR/blob/master/R/indicators.R#L42 There are a few different ways of dealing with this. The
This could also be done with
Doesn't return anything. Hopefully this review was helpful. Kind Regards, Carl Ganz |
Thank you for your thorough reviews, @nacnudus and @carlganz! @sebastian-fox, at this point we generally aim for a response to reviewers within two weeks. This can be fully implementing recommended changes or just a written response of the changes you plan to make and a time frame (example). I would re-emphasize @nacnudus's comment on thinking about the README and other documentation as first points of entry for users. We try to follow this mentality throughout package documentation. I also strongly suggest you follow @carlganz's recommendations on performance and reducing dependencies. |
Hi @noamross , @carlganz and @nacnudus , Firstly, a massive thank you for taking your time to look at this package. I can see you have given it an extremely thorough review and I've learnt a lot from your comments, so thank you. I'll respond to question first, then what I have/haven't addressed: QuestionWhy isn't Fingertips on a .gov.uk website? I'm afraid I don't know the answer (I'm not in any of the teams that would be involved in those discussions). My guess is that it is a legacy issue. PHE was formed relatively recently and Fingertips was popular before then, so there are probably challenges to move it across. AddressedGeneral
README
DESCRIPTION
NEWS
LE Vignette
Interactively selecting indicators vignette
area_types
category_types
deprivation_decile
fingertips_data
fingertips_redred
indicator_areatypes
indicators
select_indicators
indicator2
|
I should have mentioned - all the changes have been made to v0.1.3.9000. I should submit the package to CRAN again soon because of the change in the |
@sebastian-fox thanks for making all those changes -- that's a lot of work! There are a couple of small leftovers, but in general I think this is ready to go now.
expect_error(deprivation_decile(Year = 2014), "Year must be either 2010, 2011, 2012 or 2015")
|
Hi @nacnudus , Thanks for the further comments - all really helpful again.
And this time I've checked that the package builds. Thanks again |
Thanks for your revisions and response, @sebastian-fox and @nacnudus. @carlganz, let us know whether the changes address your comments. |
Thanks @sebastian-fox, that's everything from me. Final approval (post-review)The author has responded to my review and made changes to my satisfaction. I recommend approving this package. |
Final approval (post-review) Congrats @sebastian-fox |
Approved! 🎉 Thank you for submitting and @nacnudus and @carlganz for thorough and timely reviews. To-dos:
Welcome aboard! We'd also love a blog post about your package, either a short-form intro to it (https://ropensci.org/tech-notes/) or long-form post with more narrative about its development. ((https://ropensci.org/blog/). If you are, @stefaniebutland will be in touch about content and timing. |
Hello @sebastian-fox. I'm rOpenSci's Community Manager. Happy to answer any questions you might have about contributing a post for the rOpenSci blog. |
Thanks all - I can see a lot of work goes into this from your end so this is really appreciated. I will transfer the package over as soon as I can. I'm don't have admin access currently to my repo so I can't see the settings option. I need to negotiate admin rights, so hopefully that won't take too long. Thanks again |
Hi @noamross - I've completed your checklist. Thanks for your help. I'll start thinking about blogs :) |
Great! Welcome aboard! I will close this issue, you'll find instructions on submitting a blog post over at https://github.com/ropensci/roweb2#contributing-a-blog-post . |
Hello, just wondering how to get the rOpenSci badge status updated from "Under review" to "peer reviewed" for |
We see it as "Peer Reviewed". You may need to clear your browser cache. |
Thanks - that did the trick :) |
Summary
What does this package do? (explain in 50 words or less):
The package provides an interface to the API for the Fingertips website, a site developed by Public Health England. It enables users to import data on over 2,000 indicators of public health in England at different levels of geography.
Paste the full DESCRIPTION file inside a code block below:
https://github.com/PublicHealthEngland/fingertipsR
Data retrieval because it provides users with functions to import data for over 2,000 indicators of public health in England from the Fingertips website.
The target audience is anyone with an interest in public health. This includes researchers, public and private sector workers and the general public. The website gets almost one million hits in a year. The majority of users are in the public sector who need to make decisions that affect the public's health. This website helps inform those decisions. Increasingly, the website is being accessed by academic institutions. The fingertipsR package is already on CRAN and it is being discussed in some institutions as a future resource for teaching materials.
yours differ or meet our criteria for best-in-category?
No
NA
Requirements
Confirm each of the following by checking the box. This package:
Publication options
paper.md
matching JOSS's requirements with a high-level description in the package root or ininst/
.Detail
Does
R CMD check
(ordevtools::check()
) succeed? Paste and describe any errors or warnings:Does the package conform to rOpenSci packaging guidelines? Please describe any exceptions:
If this is a resubmission following rejection, please explain the change in circumstances:
If possible, please provide recommendations of reviewers - those with experience with similar packages and/or likely users of your package - and their GitHub user names:
The text was updated successfully, but these errors were encountered: