UBC-MDS / software-review-2023

DSCI 524
0 stars 0 forks source link

Group 15 - socceranalysisR #18

Open vincentho32 opened 1 year ago

vincentho32 commented 1 year ago

name: socceranalysisR about: Obtain summary statistics for a particular team, identify outliers based on market value, rank players by goals per game and display different plots.


Submitting Author Name: Flora Ouedraogo, Gaoxiang Wang, Manvir Kohli , Vincent Ho Submitting Author Github Handle: !--author1-->@florawendy19<!--end-author1-- , !--author1-->@louiewang820<!--end-author1--, !--author1-->@manvirsingh96<!--end-author1--, !--author1-->@vincentho32<!--end-author1-- Repository: https://github.com/UBC-MDS/socceranalysisR Version submitted: 0.2.0 Submission type: Standard Editor: Flora Ouedraogo, Gaoxiang Wang, Manvir Kohli , Vincent Ho Reviewers: Morris Chan, Daniel Cairns, Vikram Grewal, Yaou Hu

Archive: TBD Version accepted: TBD Language: en

Package: socceranalysisR
Title: Analysis tool for soccer data
Version: 0.0.0.9000
Authors@R: 
    c(person("Gaoxiang", "Wang", , "first.last@example.com", role = c("aut", "cre"),
           comment = c(ORCID = "...")),
           person("Vincent", "Ho", , "first.last@example.com", role = c("aut"),
           comment = c(ORCID = "...")),
           person("Manvir", "Kohli", , "first.last@example.com", role = c("aut"),
           comment = c(ORCID = "...")),
           person("Flora", "Ouedraogo", , "first.last@example.com", role = c("aut"),
           comment = c(ORCID = "...")))
Imports:
    tidyverse,
    cowplot,
    scales,
    rlang,
    dplyr,
    magrittr,
    ggplot2,
    stats,
    devtools
Description: socceranalysisR is a powerful R package designed to make it easy to analyze and understand soccer statistics.    
  With its set of functions, you can quickly obtain summary statistics for a particular team, 
  identify outliers based on certain variables, rank players and display different plots. 
License: MIT + file LICENSE
Encoding: UTF-8
Roxygen: list(markdown = TRUE)
RoxygenNote: 7.2.1
Suggests: 
    covr,
    knitr,
    rmarkdown,
    testthat (>= 3.0.0)
Config/testthat/edition: 3
VignetteBuilder: knitr
URL: https://ubc-mds.github.io/socceranalysisR/

Scope

Technical checks

Confirm each of the following by checking the box.

This package:

Publication options

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

morrismanfung commented 1 year 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

  1. Do consider changing the package into a more general one or adding more features specifically related to soccer. It is a very general package right now with basic wrangling and visualization.
  2. Some functions (e.g. rankingplayers) are not very useful as they can also be done with one line of code (which is essentially the one in the source code). Do consider dropping these functions in the package as users may not find them useful but confusing.
  3. The plotting functions are great short cut for me imo. However, I would also like to options to change figure title and axis labels. Maybe you could consider expanding the function arguments to allow more flexibilities.
  4. In the introduction of the package, I will want to see more comparison between this package and other existing packages. Maybe you could highlight more features in the current package and why it outperforms others.
  5. I enjoy the processing of reviewing the package, even I do not know soccer! Keep it up and all the best to your journey of software development :)
YHuUBC commented 1 year 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

Your R version of socceranlalysis package is also interesting and functions well. I have some questions and suggestions listed below:

  1. It would be nice to have in-line comments explaining the major steps of each function, so the readers/users can easily follow what you aim to achieve with a function. Since your package is with an MIT license and is thus open source, it would benefit the users if they want to adapt your code.
  2. When running check() and test() locally, there are 4 notes in checks and 2 warnings in tests. You could take a look at them and remove them.
  3. Your installation section implies that the package is used for analyzing a specific set of soccer data from https://github.com/UBC-MDS/socceranalysis_python/blob/main/soccer_data.xlsx. However, your usage examples are based on small toy data sets you created rather than the data set in the link you provided.
  4. In your roxygen2 function documentation, you import external packages using@import, then there is no need to call them using library(package) again (e.g., playerranking.R, soc_find_team_stat.R, soc_viz_stats.R) or calling them in @examples.
  5. There is a minor styling inconsistency in your REAME.md. For instance, the explanation of function 1 has a period but not all the other three.

Great job! It is a pleasure reviewing your package.

DanielCairns commented 1 year 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


Nice work! A few of my thoughts, some repeated from my python review:

1) Your examples section was fairly confusing to follow. Not sure why we're using a toy dataset instead of importing the real one. Also outputting all of your console messages / warnings as comments in the vignettes was confusing at first.

2) As in python, not having to download your dataset separately would be ideal.

3) It seems a tradeoff in using your package is that we lose control over specific details of the plot objects vs. doing it without your helper functions. I'm thinking colors and font sizes and the like. Is there a way to not lose so much of this customization. Perhaps using ... to pass arguments through your functions?

4) The player ranking function returns the full list, even if it is very long. Perhaps add an argument so we can only show the top n in a particular category.

5) I'm a hockey person, and as far as I an tell all of these functions would also work for analyzing similarly-structured hockey data. Maybe rebrand as a sports analytics package to earn a large following? Or lean into the soccer angle by creating some sport-specific functionality.

xFiveRivers commented 1 year 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