Code Monkey home page Code Monkey logo

sci-analysis's People

Contributors

cmmorrow avatar normaljosh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Forkers

normaljosh

sci-analysis's Issues

More user friendly and more documentation

As a user I want to be able to change the color that I want to use for graphing, as well as be able to determine what statistical tests to use. I will like to also be able to determine what graphs I want to use when comparing variables. For documentation, I will like to have an example of applying the analyze function. I am not sure what the vertical parameter in the analyze function is referencing to.

Distribution Analysis raises a UserError in matplotlib 2.1.0

analyze(df['One'], name='Column One', title='Distribution from pandas')
/Users/chrismorrow/sci_analysis_qa_env/lib/python3.6/site-packages/matplotlib/axes/_axes.py:6462: UserWarning: The 'normed' kwarg is deprecated, and has been replaced by the 'density' kwarg.
warnings.warn("The 'normed' kwarg is deprecated, and has been "

Documentation improvements

Currently, the sci-analysis documentation on readthedocs.io is generated from a single jupyter notebook and converted by sphinx. It would be better to break up the documentation by analysis type on individual notebooks that can be linked together by sphinx. That way, each page size is smaller, and can go into more detail on each analysis type.

Image Comparison Unit Tests

Since several of the unit tests involve generating graphs, and matplotlib is changing rapidly, it would be better to have tests assert that a generated image matches an existing reference image.

Matplotlib current has a way to do this, but it's for testing matplotlib itself. This can serve as a guide for how to accomplish writing the new test function.

MinimumSizeError is raised when a group is sized 1 or 2

df = pd.DataFrame(np.random.randn(100, 2), columns=list('xy'))
df['groups'] = np.random.choice(list('ABC'), len(df)).tolist()
df.at[24, 'groups'] = "D"
analyze(df['x'], df['y'], df['groups']) 

returns MinimumSizeError: length of D is less than the minimum size 1, instead of running linear regression or spearman test.
This might be intentional, but it could be useful to still perform the analysis with the size 1 group excluded

Minimum Size Error is raised on Mann Whitney Test with n = 30 per group

np.random.seed(987654321)
df = pd.DataFrame({'One'   : st.norm.rvs(0.0, 1, size=60),
                   'Two'   : st.norm.rvs(0.0, 3, size=60),
                   'Three' : st.weibull_max.rvs(1.2, size=60),
                   'Four'  : st.norm.rvs(0.0, 1, size=60),
                   'Month' : ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'] * 5,
                   'Condition' : ['Group A', 'Group B'] * 30})
df

analyze(df['Three'], groups=df['Condition'])

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.