AutoStatLib 0.2.5__tar.gz → 0.2.6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of AutoStatLib might be problematic. Click here for more details.
- {autostatlib-0.2.5/src/AutoStatLib.egg-info → autostatlib-0.2.6}/PKG-INFO +28 -23
- {autostatlib-0.2.5 → autostatlib-0.2.6}/README.md +23 -19
- {autostatlib-0.2.5 → autostatlib-0.2.6}/pyproject.toml +4 -3
- {autostatlib-0.2.5 → autostatlib-0.2.6}/src/AutoStatLib/AutoStatLib.py +3 -4
- {autostatlib-0.2.5 → autostatlib-0.2.6}/src/AutoStatLib/_version.py +1 -1
- {autostatlib-0.2.5 → autostatlib-0.2.6}/src/AutoStatLib/helpers.py +7 -4
- {autostatlib-0.2.5 → autostatlib-0.2.6}/src/AutoStatLib/normality_tests.py +5 -7
- {autostatlib-0.2.5 → autostatlib-0.2.6}/src/AutoStatLib/statistical_tests.py +16 -5
- {autostatlib-0.2.5 → autostatlib-0.2.6}/src/AutoStatLib/text_formatting.py +34 -26
- {autostatlib-0.2.5 → autostatlib-0.2.6/src/AutoStatLib.egg-info}/PKG-INFO +28 -23
- {autostatlib-0.2.5 → autostatlib-0.2.6}/LICENSE +0 -0
- {autostatlib-0.2.5 → autostatlib-0.2.6}/MANIFEST.in +0 -0
- {autostatlib-0.2.5 → autostatlib-0.2.6}/requirements.txt +0 -0
- {autostatlib-0.2.5 → autostatlib-0.2.6}/setup.cfg +0 -0
- {autostatlib-0.2.5 → autostatlib-0.2.6}/src/AutoStatLib/__init__.py +0 -0
- {autostatlib-0.2.5 → autostatlib-0.2.6}/src/AutoStatLib/__main__.py +0 -0
- {autostatlib-0.2.5 → autostatlib-0.2.6}/src/AutoStatLib.egg-info/SOURCES.txt +0 -0
- {autostatlib-0.2.5 → autostatlib-0.2.6}/src/AutoStatLib.egg-info/dependency_links.txt +0 -0
- {autostatlib-0.2.5 → autostatlib-0.2.6}/src/AutoStatLib.egg-info/requires.txt +0 -0
- {autostatlib-0.2.5 → autostatlib-0.2.6}/src/AutoStatLib.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: AutoStatLib
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.6
|
|
4
4
|
Summary: AutoStatLib - a simple statistical analysis tool
|
|
5
5
|
Author: Stemonitis, SciWare LLC
|
|
6
6
|
Author-email: konung-yaropolk <yaropolk1995@gmail.com>
|
|
@@ -509,15 +509,16 @@ License: GNU LESSER GENERAL PUBLIC LICENSE
|
|
|
509
509
|
|
|
510
510
|
That's all there is to it!
|
|
511
511
|
|
|
512
|
-
Project-URL: Homepage, https://github.com/konung-yaropolk/
|
|
513
|
-
Project-URL:
|
|
512
|
+
Project-URL: Homepage, https://github.com/konung-yaropolk/AutoStatLib
|
|
513
|
+
Project-URL: Repository, https://github.com/konung-yaropolk/AutoStatLib.git
|
|
514
|
+
Project-URL: Issues, https://github.com/konung-yaropolk/AutoStatLib/issues
|
|
514
515
|
Keywords: Science,Statistics
|
|
515
516
|
Classifier: Programming Language :: Python
|
|
516
517
|
Classifier: Programming Language :: Python :: 3
|
|
517
518
|
Classifier: Programming Language :: Python :: 3.12
|
|
518
519
|
Classifier: License :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+)
|
|
519
520
|
Classifier: Operating System :: OS Independent
|
|
520
|
-
Classifier: Development Status ::
|
|
521
|
+
Classifier: Development Status :: 4 - Beta
|
|
521
522
|
Classifier: Intended Audience :: Developers
|
|
522
523
|
Classifier: Intended Audience :: Science/Research
|
|
523
524
|
Classifier: Natural Language :: English
|
|
@@ -620,26 +621,30 @@ results = analysis.GetResult()
|
|
|
620
621
|
The results dictionary keys with representing value types:
|
|
621
622
|
```
|
|
622
623
|
{
|
|
623
|
-
'p-value':
|
|
624
|
-
'Significance(p<0.05)':
|
|
625
|
-
'Stars_Printed':
|
|
626
|
-
'Test_Name':
|
|
627
|
-
'Groups_Compared':
|
|
628
|
-
'Population_Mean':
|
|
629
|
-
'Data_Normaly_Distributed':
|
|
630
|
-
'Parametric_Test_Applied':
|
|
631
|
-
'Paired_Test_Applied':
|
|
632
|
-
'Tails':
|
|
633
|
-
'p-value_exact':
|
|
634
|
-
'Stars':
|
|
635
|
-
'Warnings':
|
|
636
|
-
'Groups_N':
|
|
637
|
-
'Groups_Median':
|
|
638
|
-
'Groups_Mean':
|
|
639
|
-
'Groups_SD':
|
|
640
|
-
'Groups_SE':
|
|
641
|
-
'Samples':
|
|
624
|
+
'p-value' : String
|
|
625
|
+
'Significance(p<0.05)' : Boolean
|
|
626
|
+
'Stars_Printed' : String
|
|
627
|
+
'Test_Name' : String
|
|
628
|
+
'Groups_Compared' : Integer
|
|
629
|
+
'Population_Mean' : Float (taken from the input)
|
|
630
|
+
'Data_Normaly_Distributed' : Boolean
|
|
631
|
+
'Parametric_Test_Applied' : Boolean
|
|
632
|
+
'Paired_Test_Applied' : Boolean
|
|
633
|
+
'Tails' : Integer (taken from the input)
|
|
634
|
+
'p-value_exact' : Float
|
|
635
|
+
'Stars' : Integer
|
|
636
|
+
'Warnings' : String
|
|
637
|
+
'Groups_N' : List of integers
|
|
638
|
+
'Groups_Median' : List of floats
|
|
639
|
+
'Groups_Mean' : List of floats
|
|
640
|
+
'Groups_SD' : List of floats
|
|
641
|
+
'Groups_SE' : List of floats
|
|
642
|
+
'Samples' : List of input values by groups
|
|
642
643
|
(taken from the input)
|
|
644
|
+
'Posthoc_Matrix' : 2D List of floats
|
|
645
|
+
'Posthoc_Matrix_bool' : 2D List of Boolean
|
|
646
|
+
'Posthoc_Matrix_printed': 2D List of String
|
|
647
|
+
'Posthoc_Matrix_stars': 2D List of String
|
|
643
648
|
}
|
|
644
649
|
```
|
|
645
650
|
If errors occured, *GetResult()* returns an empty dictionary
|
|
@@ -84,26 +84,30 @@ results = analysis.GetResult()
|
|
|
84
84
|
The results dictionary keys with representing value types:
|
|
85
85
|
```
|
|
86
86
|
{
|
|
87
|
-
'p-value':
|
|
88
|
-
'Significance(p<0.05)':
|
|
89
|
-
'Stars_Printed':
|
|
90
|
-
'Test_Name':
|
|
91
|
-
'Groups_Compared':
|
|
92
|
-
'Population_Mean':
|
|
93
|
-
'Data_Normaly_Distributed':
|
|
94
|
-
'Parametric_Test_Applied':
|
|
95
|
-
'Paired_Test_Applied':
|
|
96
|
-
'Tails':
|
|
97
|
-
'p-value_exact':
|
|
98
|
-
'Stars':
|
|
99
|
-
'Warnings':
|
|
100
|
-
'Groups_N':
|
|
101
|
-
'Groups_Median':
|
|
102
|
-
'Groups_Mean':
|
|
103
|
-
'Groups_SD':
|
|
104
|
-
'Groups_SE':
|
|
105
|
-
'Samples':
|
|
87
|
+
'p-value' : String
|
|
88
|
+
'Significance(p<0.05)' : Boolean
|
|
89
|
+
'Stars_Printed' : String
|
|
90
|
+
'Test_Name' : String
|
|
91
|
+
'Groups_Compared' : Integer
|
|
92
|
+
'Population_Mean' : Float (taken from the input)
|
|
93
|
+
'Data_Normaly_Distributed' : Boolean
|
|
94
|
+
'Parametric_Test_Applied' : Boolean
|
|
95
|
+
'Paired_Test_Applied' : Boolean
|
|
96
|
+
'Tails' : Integer (taken from the input)
|
|
97
|
+
'p-value_exact' : Float
|
|
98
|
+
'Stars' : Integer
|
|
99
|
+
'Warnings' : String
|
|
100
|
+
'Groups_N' : List of integers
|
|
101
|
+
'Groups_Median' : List of floats
|
|
102
|
+
'Groups_Mean' : List of floats
|
|
103
|
+
'Groups_SD' : List of floats
|
|
104
|
+
'Groups_SE' : List of floats
|
|
105
|
+
'Samples' : List of input values by groups
|
|
106
106
|
(taken from the input)
|
|
107
|
+
'Posthoc_Matrix' : 2D List of floats
|
|
108
|
+
'Posthoc_Matrix_bool' : 2D List of Boolean
|
|
109
|
+
'Posthoc_Matrix_printed': 2D List of String
|
|
110
|
+
'Posthoc_Matrix_stars': 2D List of String
|
|
107
111
|
}
|
|
108
112
|
```
|
|
109
113
|
If errors occured, *GetResult()* returns an empty dictionary
|
|
@@ -21,7 +21,7 @@ classifiers = [
|
|
|
21
21
|
"Programming Language :: Python :: 3.12",
|
|
22
22
|
"License :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+)",
|
|
23
23
|
"Operating System :: OS Independent",
|
|
24
|
-
"Development Status ::
|
|
24
|
+
"Development Status :: 4 - Beta",
|
|
25
25
|
"Intended Audience :: Developers",
|
|
26
26
|
"Intended Audience :: Science/Research",
|
|
27
27
|
"Natural Language :: English",
|
|
@@ -32,8 +32,9 @@ classifiers = [
|
|
|
32
32
|
]
|
|
33
33
|
|
|
34
34
|
[project.urls]
|
|
35
|
-
Homepage = "https://github.com/konung-yaropolk/
|
|
36
|
-
|
|
35
|
+
Homepage = "https://github.com/konung-yaropolk/AutoStatLib"
|
|
36
|
+
Repository = "https://github.com/konung-yaropolk/AutoStatLib.git"
|
|
37
|
+
Issues = "https://github.com/konung-yaropolk/AutoStatLib/issues"
|
|
37
38
|
|
|
38
39
|
[tool.setuptools.dynamic]
|
|
39
40
|
version = {attr = "AutoStatLib.__version__"}
|
|
@@ -16,7 +16,7 @@ class StatisticalAnalysis(StatisticalTests, NormalityTests, TextFormatting, Help
|
|
|
16
16
|
paired=False,
|
|
17
17
|
tails=2,
|
|
18
18
|
popmean=None,
|
|
19
|
-
posthoc=
|
|
19
|
+
posthoc=True,
|
|
20
20
|
verbose=True):
|
|
21
21
|
self.results = None
|
|
22
22
|
self.error = False
|
|
@@ -92,6 +92,7 @@ class StatisticalAnalysis(StatisticalTests, NormalityTests, TextFormatting, Help
|
|
|
92
92
|
self.p_value = None
|
|
93
93
|
self.posthoc_matrix_df = None
|
|
94
94
|
self.posthoc_matrix = []
|
|
95
|
+
self.posthoc_name = None
|
|
95
96
|
|
|
96
97
|
self.log('\n' + '-'*67)
|
|
97
98
|
self.log('Statistical analysis __init__iated for data in {} groups\n'.format(
|
|
@@ -174,7 +175,6 @@ class StatisticalAnalysis(StatisticalTests, NormalityTests, TextFormatting, Help
|
|
|
174
175
|
else:
|
|
175
176
|
self.run_test_auto()
|
|
176
177
|
|
|
177
|
-
|
|
178
178
|
# print the results
|
|
179
179
|
self.results = self.create_results_dict()
|
|
180
180
|
self.print_results()
|
|
@@ -186,9 +186,8 @@ class StatisticalAnalysis(StatisticalTests, NormalityTests, TextFormatting, Help
|
|
|
186
186
|
if self.verbose == True:
|
|
187
187
|
print(self.summary)
|
|
188
188
|
|
|
189
|
-
|
|
190
|
-
|
|
191
189
|
# public methods:
|
|
190
|
+
|
|
192
191
|
def RunAuto(self):
|
|
193
192
|
self.run_test(test='auto')
|
|
194
193
|
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
# AutoStatLib package version:
|
|
2
|
-
__version__ = "0.2.
|
|
2
|
+
__version__ = "0.2.6"
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import numpy as np
|
|
2
2
|
import pandas as pd
|
|
3
3
|
|
|
4
|
+
|
|
4
5
|
class Helpers():
|
|
5
6
|
|
|
6
7
|
def matrix_to_dataframe(self, matrix):
|
|
@@ -61,9 +62,11 @@ class Helpers():
|
|
|
61
62
|
'Groups_SE': [np.std(self.data[i]).item() / np.sqrt(len(self.data)).item() for i in range(len(self.data))],
|
|
62
63
|
# actually returns list of lists of numpy dtypes of float64, next make it return regular floats:
|
|
63
64
|
'Samples': self.data,
|
|
64
|
-
'
|
|
65
|
-
'
|
|
66
|
-
'
|
|
65
|
+
'Posthoc_Tests_Name': self.posthoc_name if self.posthoc_name is not None else '',
|
|
66
|
+
'Posthoc_Matrix': self.posthoc_matrix if self.posthoc_matrix else [],
|
|
67
|
+
'Posthoc_Matrix_bool': [[bool(element) for element in row] for row in self.posthoc_matrix] if self.posthoc_matrix else [],
|
|
68
|
+
'Posthoc_Matrix_printed': [[self.make_p_value_printed(element) for element in row] for row in self.posthoc_matrix] if self.posthoc_matrix else [],
|
|
69
|
+
'Posthoc_Matrix_stars': [[self.make_stars_printed(self.make_stars(element)) for element in row] for row in self.posthoc_matrix] if self.posthoc_matrix else [],
|
|
67
70
|
}
|
|
68
71
|
|
|
69
72
|
def log(self, *args, **kwargs):
|
|
@@ -74,4 +77,4 @@ class Helpers():
|
|
|
74
77
|
def AddWarning(self, warning_id):
|
|
75
78
|
message = self.warning_ids_all[warning_id]
|
|
76
79
|
self.log(message)
|
|
77
|
-
self.warnings.append(message)
|
|
80
|
+
self.warnings.append(message)
|
|
@@ -20,7 +20,7 @@ class NormalityTests():
|
|
|
20
20
|
|
|
21
21
|
# Shapiro-Wilk test
|
|
22
22
|
sw_stat, sw_p_value = shapiro(data)
|
|
23
|
-
if sw_p_value > 0.05:
|
|
23
|
+
if sw_p_value and sw_p_value > 0.05:
|
|
24
24
|
sw = True
|
|
25
25
|
else:
|
|
26
26
|
sw = False
|
|
@@ -28,7 +28,7 @@ class NormalityTests():
|
|
|
28
28
|
# Lilliefors test
|
|
29
29
|
lf_stat, lf_p_value = lilliefors(
|
|
30
30
|
data, dist='norm')
|
|
31
|
-
if lf_p_value > 0.05:
|
|
31
|
+
if lf_p_value and lf_p_value > 0.05:
|
|
32
32
|
lf = True
|
|
33
33
|
else:
|
|
34
34
|
lf = False
|
|
@@ -37,7 +37,7 @@ class NormalityTests():
|
|
|
37
37
|
if n >= 20:
|
|
38
38
|
ad_stat, ad_p_value = self.anderson_get_p(
|
|
39
39
|
data, dist='norm')
|
|
40
|
-
if ad_p_value > 0.05:
|
|
40
|
+
if ad_p_value and ad_p_value > 0.05:
|
|
41
41
|
ad = True
|
|
42
42
|
else:
|
|
43
43
|
ad = False
|
|
@@ -46,13 +46,11 @@ class NormalityTests():
|
|
|
46
46
|
# test result is skewed if n<20
|
|
47
47
|
if n >= 20:
|
|
48
48
|
ap_stat, ap_p_value = normaltest(data)
|
|
49
|
-
if ap_p_value > 0.05:
|
|
49
|
+
if ap_p_value and ap_p_value > 0.05:
|
|
50
50
|
ap = True
|
|
51
51
|
else:
|
|
52
52
|
ap = False
|
|
53
53
|
|
|
54
|
-
# print(ap_p_value, ad_p_value, sw_p_value, lf_p_value)
|
|
55
|
-
|
|
56
54
|
return (sw, lf, ad, ap)
|
|
57
55
|
|
|
58
56
|
def anderson_get_p(self, data, dist='norm'):
|
|
@@ -82,4 +80,4 @@ class NormalityTests():
|
|
|
82
80
|
else:
|
|
83
81
|
p = None
|
|
84
82
|
|
|
85
|
-
return ad, p
|
|
83
|
+
return ad, p
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import numpy as np
|
|
2
2
|
import scikit_posthocs as sp
|
|
3
3
|
from statsmodels.stats.anova import AnovaRM
|
|
4
|
+
from statsmodels.stats.multicomp import pairwise_tukeyhsd
|
|
4
5
|
from scipy.stats import ttest_rel, ttest_ind, ttest_1samp, wilcoxon, mannwhitneyu, f_oneway, kruskal, friedmanchisquare
|
|
5
6
|
|
|
6
7
|
|
|
7
|
-
|
|
8
8
|
class StatisticalTests():
|
|
9
9
|
'''
|
|
10
10
|
Statistical tests mixin
|
|
@@ -50,7 +50,7 @@ class StatisticalTests():
|
|
|
50
50
|
test_names_dict = {
|
|
51
51
|
'anova_1w_ordinary': 'Ordinary One-Way ANOVA',
|
|
52
52
|
'anova_1w_rm': 'Repeated Measures One-Way ANOVA',
|
|
53
|
-
'friedman': 'Friedman test',
|
|
53
|
+
'friedman': 'Friedman test',
|
|
54
54
|
'kruskal_wallis': 'Kruskal-Wallis test',
|
|
55
55
|
'mann_whitney': 'Mann-Whitney U test',
|
|
56
56
|
't_test_independent': 't-test for independent samples',
|
|
@@ -89,6 +89,15 @@ class StatisticalTests():
|
|
|
89
89
|
# p_value /= 2
|
|
90
90
|
# if self.tails == 1:
|
|
91
91
|
# p_value /= 2
|
|
92
|
+
|
|
93
|
+
# if p_value < 0.05 and self.posthoc:
|
|
94
|
+
# data_flat = np.concatenate(self.data)
|
|
95
|
+
# self.posthoc_name = 'Tukey`s multiple comparisons'
|
|
96
|
+
# group_labels = np.concatenate(
|
|
97
|
+
# [[f"Group_{i+1}"] * len(group) for i, group in enumerate(self.data)])
|
|
98
|
+
# # Tukey's multiple comparisons
|
|
99
|
+
# tukey_result = pairwise_tukeyhsd(data_flat, group_labels)
|
|
100
|
+
# print(tukey_result)
|
|
92
101
|
return stat, p_value
|
|
93
102
|
|
|
94
103
|
def anova_1w_rm(self):
|
|
@@ -117,7 +126,9 @@ class StatisticalTests():
|
|
|
117
126
|
|
|
118
127
|
# Perform Dunn's multiple comparisons if Kruskal-Wallis is significant
|
|
119
128
|
if p_value < 0.05 and self.posthoc:
|
|
120
|
-
self.posthoc_matrix = sp.posthoc_dunn(
|
|
129
|
+
self.posthoc_matrix = sp.posthoc_dunn(
|
|
130
|
+
self.data, p_adjust='bonferroni').values.tolist()
|
|
131
|
+
self.posthoc_name = 'Dunn`s multiple comparisons'
|
|
121
132
|
return stat, p_value
|
|
122
133
|
|
|
123
134
|
def mann_whitney(self):
|
|
@@ -161,7 +172,7 @@ class StatisticalTests():
|
|
|
161
172
|
if self.tails == 1:
|
|
162
173
|
p_value /= 2
|
|
163
174
|
return stat, p_value
|
|
164
|
-
|
|
175
|
+
|
|
165
176
|
def wilcoxon_single_sample(self):
|
|
166
177
|
if self.popmean == None:
|
|
167
178
|
self.popmean = 0
|
|
@@ -170,4 +181,4 @@ class StatisticalTests():
|
|
|
170
181
|
stat, p_value = wilcoxon(data)
|
|
171
182
|
if self.tails == 1:
|
|
172
183
|
p_value /= 2
|
|
173
|
-
return stat, p_value
|
|
184
|
+
return stat, p_value
|
|
@@ -51,22 +51,26 @@ class TextFormatting():
|
|
|
51
51
|
break
|
|
52
52
|
self.log(self.autospace(row_values, space))
|
|
53
53
|
|
|
54
|
-
def
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
if
|
|
59
|
-
|
|
60
|
-
elif
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
54
|
+
def print_results(self):
|
|
55
|
+
self.log('\n\nResults: \n')
|
|
56
|
+
for i in self.results:
|
|
57
|
+
shift = 27 - len(i)
|
|
58
|
+
if i == 'Warnings':
|
|
59
|
+
self.log(i, ':', ' ' * shift, len(self.results[i]))
|
|
60
|
+
elif i == 'Posthoc_Tests_Name':
|
|
61
|
+
self.log(i, ':', ' ' * shift,
|
|
62
|
+
self.results[i]) if self.results[i] != '' else 'N/A'
|
|
63
|
+
elif i == 'Posthoc_Matrix':
|
|
64
|
+
self.log(i, ':', ' ' * shift, '{0}x{0} matrix'.format(
|
|
65
|
+
len(self.results[i])) if self.results[i] else 'N/A')
|
|
66
|
+
elif (i == 'Samples'
|
|
67
|
+
or i == 'Posthoc_Matrix_bool'
|
|
68
|
+
or i == 'Posthoc_Matrix_printed'
|
|
69
|
+
or i == 'Posthoc_Matrix_stars'
|
|
70
|
+
):
|
|
71
|
+
pass
|
|
64
72
|
else:
|
|
65
|
-
|
|
66
|
-
return 0
|
|
67
|
-
|
|
68
|
-
def make_stars_printed(self, n) -> str:
|
|
69
|
-
return '*' * n if n else 'ns'
|
|
73
|
+
self.log(i, ':', ' ' * shift, self.results[i])
|
|
70
74
|
|
|
71
75
|
def make_p_value_printed(self, p) -> str:
|
|
72
76
|
if p is not None:
|
|
@@ -84,15 +88,19 @@ class TextFormatting():
|
|
|
84
88
|
return 'N/A'
|
|
85
89
|
return 'N/A'
|
|
86
90
|
|
|
87
|
-
def
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
if
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
elif
|
|
96
|
-
|
|
91
|
+
def make_stars(self, p) -> int:
|
|
92
|
+
if p is not None:
|
|
93
|
+
if p < 0.0001:
|
|
94
|
+
return 4
|
|
95
|
+
if p < 0.001:
|
|
96
|
+
return 3
|
|
97
|
+
elif p < 0.01:
|
|
98
|
+
return 2
|
|
99
|
+
elif p < 0.05:
|
|
100
|
+
return 1
|
|
97
101
|
else:
|
|
98
|
-
|
|
102
|
+
return 0
|
|
103
|
+
return 0
|
|
104
|
+
|
|
105
|
+
def make_stars_printed(self, n) -> str:
|
|
106
|
+
return '*' * n if n else 'ns'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: AutoStatLib
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.6
|
|
4
4
|
Summary: AutoStatLib - a simple statistical analysis tool
|
|
5
5
|
Author: Stemonitis, SciWare LLC
|
|
6
6
|
Author-email: konung-yaropolk <yaropolk1995@gmail.com>
|
|
@@ -509,15 +509,16 @@ License: GNU LESSER GENERAL PUBLIC LICENSE
|
|
|
509
509
|
|
|
510
510
|
That's all there is to it!
|
|
511
511
|
|
|
512
|
-
Project-URL: Homepage, https://github.com/konung-yaropolk/
|
|
513
|
-
Project-URL:
|
|
512
|
+
Project-URL: Homepage, https://github.com/konung-yaropolk/AutoStatLib
|
|
513
|
+
Project-URL: Repository, https://github.com/konung-yaropolk/AutoStatLib.git
|
|
514
|
+
Project-URL: Issues, https://github.com/konung-yaropolk/AutoStatLib/issues
|
|
514
515
|
Keywords: Science,Statistics
|
|
515
516
|
Classifier: Programming Language :: Python
|
|
516
517
|
Classifier: Programming Language :: Python :: 3
|
|
517
518
|
Classifier: Programming Language :: Python :: 3.12
|
|
518
519
|
Classifier: License :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+)
|
|
519
520
|
Classifier: Operating System :: OS Independent
|
|
520
|
-
Classifier: Development Status ::
|
|
521
|
+
Classifier: Development Status :: 4 - Beta
|
|
521
522
|
Classifier: Intended Audience :: Developers
|
|
522
523
|
Classifier: Intended Audience :: Science/Research
|
|
523
524
|
Classifier: Natural Language :: English
|
|
@@ -620,26 +621,30 @@ results = analysis.GetResult()
|
|
|
620
621
|
The results dictionary keys with representing value types:
|
|
621
622
|
```
|
|
622
623
|
{
|
|
623
|
-
'p-value':
|
|
624
|
-
'Significance(p<0.05)':
|
|
625
|
-
'Stars_Printed':
|
|
626
|
-
'Test_Name':
|
|
627
|
-
'Groups_Compared':
|
|
628
|
-
'Population_Mean':
|
|
629
|
-
'Data_Normaly_Distributed':
|
|
630
|
-
'Parametric_Test_Applied':
|
|
631
|
-
'Paired_Test_Applied':
|
|
632
|
-
'Tails':
|
|
633
|
-
'p-value_exact':
|
|
634
|
-
'Stars':
|
|
635
|
-
'Warnings':
|
|
636
|
-
'Groups_N':
|
|
637
|
-
'Groups_Median':
|
|
638
|
-
'Groups_Mean':
|
|
639
|
-
'Groups_SD':
|
|
640
|
-
'Groups_SE':
|
|
641
|
-
'Samples':
|
|
624
|
+
'p-value' : String
|
|
625
|
+
'Significance(p<0.05)' : Boolean
|
|
626
|
+
'Stars_Printed' : String
|
|
627
|
+
'Test_Name' : String
|
|
628
|
+
'Groups_Compared' : Integer
|
|
629
|
+
'Population_Mean' : Float (taken from the input)
|
|
630
|
+
'Data_Normaly_Distributed' : Boolean
|
|
631
|
+
'Parametric_Test_Applied' : Boolean
|
|
632
|
+
'Paired_Test_Applied' : Boolean
|
|
633
|
+
'Tails' : Integer (taken from the input)
|
|
634
|
+
'p-value_exact' : Float
|
|
635
|
+
'Stars' : Integer
|
|
636
|
+
'Warnings' : String
|
|
637
|
+
'Groups_N' : List of integers
|
|
638
|
+
'Groups_Median' : List of floats
|
|
639
|
+
'Groups_Mean' : List of floats
|
|
640
|
+
'Groups_SD' : List of floats
|
|
641
|
+
'Groups_SE' : List of floats
|
|
642
|
+
'Samples' : List of input values by groups
|
|
642
643
|
(taken from the input)
|
|
644
|
+
'Posthoc_Matrix' : 2D List of floats
|
|
645
|
+
'Posthoc_Matrix_bool' : 2D List of Boolean
|
|
646
|
+
'Posthoc_Matrix_printed': 2D List of String
|
|
647
|
+
'Posthoc_Matrix_stars': 2D List of String
|
|
643
648
|
}
|
|
644
649
|
```
|
|
645
650
|
If errors occured, *GetResult()* returns an empty dictionary
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|