Open elenagan opened 1 year ago
Please check off boxes as applicable, and elaborate in comments below. Your review is not limited to these topics, as described in the reviewer guide
The package includes all the following forms of documentation:
URL
, BugReports
and Maintainer
(which may be autogenerated via Authors@R
).Estimated hours spent reviewing: 1.5 hours
The package was easy to understand and install and is very symmetrical to the Python package, overall, the team did a good job with the quality of the code and the documentation. I have a few minor points that the team can consider in the future
Please check off boxes as applicable, and elaborate in comments below. Your review is not limited to these topics, as described in the reviewer guide
The package includes all the following forms of documentation:
URL
, BugReports
and Maintainer
(which may be autogenerated via Authors@R
).Estimated hours spent reviewing: 1.5 hours
The README.md
does explain how to access the vignette, though including the link to the Github Pages website in this section might be helpful for users to view the examples directly without having to search for them.
brok_scrape()
seems to be missing its associated test file under the tests/testthat
folder.
There are no badges on the README.md
indicating the CI/CD, (R-CMD-check), test coverage or docs building status.
Each functions is very straightforward to use, though I am a bit confused by some of their outputs as they seem to be running tests whenever the functions are called? I do not think this is the intended behaviour as the functions should be returning the tibbles/vectors directly. If it is intentional, I would explain what these tests mean in your documentation so that users can know what will pass or fail.
The following output seems unexpected/differs from your Python package:
I would be cautious of including these outputs directly with bow()
which is responsible for parsing the text for word counts. You may not be interested in capturing these instances of "function", "date", "event" or "start" for example. I would try to parse the strings that are scraped so that these elements can be removed before further processing.
Overall, well done. I was not aware of a web scraping package within R so this seems like it could have cool applications combining NLP and statistical analysis. I'm interested in seeing how your package evolves from our feedback!
Please check off boxes as applicable, and elaborate in comments below. Your review is not limited to these topics, as described in the reviewer guide
The package includes all the following forms of documentation:
URL
, BugReports
and Maintainer
(which may be autogenerated via Authors@R
).Estimated hours spent reviewing: 1h
check()
and your package returns 0 warnings and 0 errors. I also like the detailed examples in your function manuals.testthat
calls inside the function (e.g. brok_scrape
) for exception handling. It will be better if you could suppress the test passed
output when no error occurred.brok_scrape
.Please check off boxes as applicable, and elaborate in comments below. Your review is not limited to these topics, as described in the reviewer guide
The package includes all the following forms of documentation:
URL
, BugReports
and Maintainer
(which may be autogenerated via Authors@R
).Estimated hours spent reviewing: 1 hr
Overall, excellent work! It was a pleasure to review and learn from you!
name: BrokkR about: This package allows users to provide a list of URLs for webpages of interest and creates a dataframe with Bag of Words representation that can then later be fed into a machine learning model of their choice. Users also have the option to produce a dataframe with just the raw text of their target webpages to apply the text representation of their choice instead.
Submitting Author Name: Elena Ganacheva, Mike Guron, Daniel Merigo, Mehdi Naji Submitting Author Github Handle: !--author1-->@elenagan<!--end-author1-- Other Package Authors Github handles: (comma separated, delete if none) @mikeguron, @DMerigo, @mehdi-naji Repository: https://github.com/UBC-MDS/BrokkR Version submitted: 0.2.0 Submission type: Standard Editor: @flor14 Reviewers: TBD
Archive: TBD Version accepted: TBD Language: en
Scope
Please indicate which category or categories from our package fit policies this package falls under: (Please check an appropriate box below. If you are unsure, we suggest you make a pre-submission inquiry.):
Explain how and why the package falls under these categories (briefly, 1-2 sentences): The package retrieves data from urls provided by the user and extracts the text data from the webpage and then cleans the data and formats it as a dataframe with an option to have bag of words representation.
Who is the target audience and what are scientific applications of this package? Those who are new to webscraping and want a simple tool to collect text data from the internet for data analysis or machine learning purposes.
Are there other R packages that accomplish the same thing? If so, how does yours differ or meet our criteria for best-in-category? There are some libraries and packages that can facilitate this job, from scraping text from a URL to returning it to a bag of words (BOW). However, to the extent of our knowledge, there is no sufficiently handy and straightforward package for this purpose. This package is a tailored combination of Rvest and CountVectorizer. Rvest widely used to pull different sources of data from HTML and XML pages, and CountVectorizer is a well-known package to convert a collection of texts to a matrix of token counts
(If applicable) Does your package comply with our guidance around Ethics, Data Privacy and Human Subjects Research?
If you made a pre-submission inquiry, please paste the link to the corresponding issue, forum post, or other discussion, or @tag the editor you contacted.
Explain reasons for any
pkgcheck
items which your package is unable to pass.Technical checks
Confirm each of the following by checking the box.
This package:
Publication options
[ ] Do you intend for this package to go on CRAN?
[ ] Do you intend for this package to go on Bioconductor?
[ ] Do you wish to submit an Applications Article about your package to Methods in Ecology and Evolution? If so:
MEE Options
- [ ] The package is novel and will be of interest to the broad readership of the journal. - [ ] The manuscript describing the package is no longer than 3000 words. - [ ] You intend to archive the code for the package in a long-term repository which meets the requirements of the journal (see [MEE's Policy on Publishing Code](http://besjournals.onlinelibrary.wiley.com/hub/journal/10.1111/(ISSN)2041-210X/journal-resources/policy-on-publishing-code.html)) - (*Scope: Do consider MEE's [Aims and Scope](http://besjournals.onlinelibrary.wiley.com/hub/journal/10.1111/(ISSN)2041-210X/aims-and-scope/read-full-aims-and-scope.html) for your manuscript. We make no guarantee that your manuscript will be within MEE scope.*) - (*Although not required, we strongly recommend having a full manuscript prepared when you submit here.*) - (*Please do not submit your package separately to Methods in Ecology and Evolution*)Code of conduct