UBC-MDS / software-review-2022

0 stars 0 forks source link

Submission group 13: tweetRpoll (R) #27

Open xiangwxt opened 2 years ago

xiangwxt commented 2 years ago

Submitting Author: Wenxin Xiang (@xiangwxt), Rada Rudyak (@Radascript), Linh Giang Nguyen (@gn385x) Package Name: tweetRpoll One-Line Description of Package: A R package that allow users to extract and visualize poll data from Twitter! Repository Link: https://github.com/UBC-MDS/tweetRpoll Version submitted: 0.0.0.9000 Reviewer 1: Luming Yang Reviewer 2: Masha Sarafrazi Reviewer 3: Julien Gordon Reviewer 4: Arlin Cherian Submission type: Standard Editor: TBD

  • DESCRIPTION file:
Package: tweetRpoll
Title: Extract Twitter Poll Data
Version: 0.0.0.9000
Authors@R: 
  c(
    person("Rada", "Rudyak", , "emailrada@gmail.com", role = c("aut", "cre")),
    person("Wenxin", "Xiang", , "theaxiangwx@gmail.com", role = c("aut")),
    person("Linh Giang", "Nguyen", , "giang.nglinh@gmail.com", role = c("aut"))
  )
Description: What the package does (one paragraph).
License: MIT + file LICENSE
Encoding: UTF-8
LazyData: true
Roxygen: list(markdown = TRUE)
RoxygenNote: 7.1.2
Suggests: 
    covr,
    testthat (>= 3.0.0)
Config/testthat/edition: 3
Imports: 
    lubridate,
    ggplot2,
    rlang,
    stats,
    magrittr, 
    tidyverse,
    twitteR,
    httr,
    jsonlite

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.):

    • [x] data retrieval
    • [ ] data extraction
    • [ ] data munging
    • [ ] data deposition
    • [ ] workflow automation
    • [ ] version control
    • [ ] citation management and bibliometrics
    • [ ] scientific software wrappers
    • [ ] field and lab reproducibility tools
    • [ ] database software bindings
    • [ ] geospatial data
    • [ ] text analysis
  • Explain how and why the package falls under these categories (briefly, 1-2 sentences):

    The package access and download data from online sources Twitter.

  • Who is the target audience and what are scientific applications of this package?

The package is created for people interested in social media poll studies and social media interaction. Also it's a convenient and helpful tool for R beginners to gain access to the poll data, and make their own data-driven decisions.

There are a few existing R packages that have similar functionality for tweets from Twitter. For example, tweetr is a package that helps extract tweets, visualize user sentiment and behaviors on tweet posting, and apply sentiment analysis to the data. However, there are no available packages that work specifically on polls from Twitter.

Not applicable

  • 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.

    Not applicable

    Technical checks

    Confirm each of the following by checking the box.

  • [x] I have read the guide for authors and rOpenSci packaging guide.

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

Code of conduct

  • [x] I agree to abide by rOpenSci's Code of Conduct during the review process and in maintaining my package should it be accepted.
arlincherian commented 2 years ago

Package Review

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

Documentation

The package includes all the following forms of documentation:

Functionality

Estimated hours spent reviewing:


Review Comments

Great job team! Similar to the python package review I agree that this package is definitely valuable to the intended audience as you have mentioned in your documentation. I hope you have used this package to find some interesting analytics from Twitter polls. Overall you have done an excellent job of creating this package, all the checks ran without any issues. The documentation also seems to be clear and concise on the usage of the functions.

The following comments pertain to your package version on Feb 3, 2022 (5:30 pm PST)

  1. My overall suggestion is to maybe provide some more detailed information on how to set a bearer token and provide a guide for that as part of the vignettes. This might make the package more user-friendly. I noticed a link to general instructions was provided in the Python version of the package. But this is missing in the R version.
  2. Under related packages, you refer to tweetr package. However, I couldn’t find this package online. I wonder if you are referring to twitteR package? In which case, I would also suggest adding a URL to this package.
  3. Is there a plan to publish this package on CRAN? If not, maybe the CRAN installation part is not essential in the readme file. If you are, that’s amazing, good job!
  4. You could also add a code coverage badge on your readme file. This option can be found in the settings tab in codecov.io
  5. Minor suggestion: When referring to tweet ID, in some function documentation it is mentioned as "id" and in some others, upper case ("ID"). Maybe this could be consistently kept as ID.
  6. In the vignette, you use the example get_poll_by_id(1239677495487737856) and it returns the output as a list. However, the documentation mentions that this argument is a character type. When I try some of the other ID’s printed by the first function without the single quotes around it, it gives me an error. So I am wondering why this specific ID used in the vignette returns the output without error while the other ones do not? If I have missed something here, please feel free to correct me.
  7. One other suggestion might be to provide users with the option to alter the size of the bar charts. It seems like it prints a standard size but maybe for aesthetic purposes, users may want to alter that so having that functionality would be nice.
  8. In the test file for get_poll_by_id, a minor spelling error on line 36. it should be ‘non-existent’ instead.
  9. In the description file, the description part hasn’t been updated yet. It still says “What the package does (one paragraph).”

You have done an excellent job on this package! It was really intriguing reading your code and understanding the functionality of your package. Looking forward to newer versions of this package!

BooleanJulien commented 2 years ago

title: "review" output: rmarkdown::md_document: pandoc_args: [ "--wrap=none" ]

Package Review

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

Documentation

The package includes all the following forms of documentation:

Functionality

Estimated hours spent reviewing:

30 mins


Review Comments

Great job team! Echoing my comments in the Python review that I really see the research value this has in terms of making it really easy and reproducible to use twitter data. I can see auto-updating dashboards that build off of the funcitonality in this package. Vignette was well done and made it easy to review.

Some constructive feedback:

Once again thank you for producing this package, it was a pleasure to review.

Luming-ubc commented 2 years ago

Package Review

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

Documentation

The package includes all the following forms of documentation:

Functionality

Estimated hours spent reviewing: 1.5 hour


Review Comments

I enjoy this package idea, and I think it is very creative and could be of great help to visualize the poll results especially for someone who checks for poll results frequently. Here are some observations from my review and I hope these will help with further improvement of the package.

  1. I got the following warning when installing the package from CRAN as instructed in the Readme. Warning in install.packages : package ‘tweetRpoll’ is not available for this version of R ; I am using this R version R version 4.1.2 (2021-11-01) -- "Bird Hippie" If installing from CRAN is not working as expected, it might be better to remove this instruction from the Readme file since it was not required.

  2. By the time of this review, there are 8 active branches in the repository, and I think it is general good practice to close out the completed branches and use issues to communicate if there is any further features to be added via branches.

  3. There exists minor inconsistency In the Roxygen of the get_poll_by_id function. The general description states the function returns data frame, while the returned parameter is actually list.

  4. While testing the function get_poll_by_id with the output ID from the first function, most of the tests encountered Request returned error error. The error message itself is not very informative and could be confusing. However, there was a good error message suggesting that tweet does not contain a poll, which makes more sense. It might be helpful if the function could point out what's wrong the input ID and why this error was raised.

  5. When running the following two lines of code, the y label in the visualization graph was not rendered properly. For better visualizations, it might be helpful to consider checking the authorized types of characters in the labels.

    poll_info <- get_poll_by_id(1233970022109892608)
    visualize_poll(poll_info)

    image

mahsasarafrazi commented 2 years ago

Package Review

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

Documentation

The package includes all the following forms of documentation:

Functionality

Estimated hours spent reviewing: 1 hour


Review Comments

Great work overall! Appreciate the effort all of you have been put into the development of this package. Here're some places that I think can be improved:

  1. It would be better by showing some function results along with pictures, tables if any in the Features block under README to provide users with a more clear and straightforward overview of this package, instead of writing descriptions with sentences only.

  2. Although your package is completed, you have one to-do card in your project Kanban. I think you can put it in "Done" list if you are done with ci-cd.

  3. The last few lines of get_tweet_by_id() contain some comments . Although they have been commented out, you should still consider removing them from your source code. If you believe this is something useful for demonstration, you can put it in your documentation instead.

  4. The installation instructions in README say the package can be installed from CRAN while it is not. Therefore, you should consider removing the CRAN part and just leave the GitHub installation instruction there.

  5. Although I see vignettes in your repo, you have not put a link to it in README so that people can see the full example of your package, I recommend adding it.