csv-stats 0.4.0__tar.gz → 0.4.2__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.
Files changed (651) hide show
  1. csv_stats-0.4.2/.gitignore +8 -0
  2. {csv_stats-0.4.0 → csv_stats-0.4.2}/PKG-INFO +35 -3
  3. {csv_stats-0.4.0 → csv_stats-0.4.2}/README.md +34 -2
  4. {csv_stats-0.4.0 → csv_stats-0.4.2}/pyproject.toml +8 -2
  5. csv_stats-0.4.2/src/csvstats/__init__.py +1 -0
  6. {csv_stats-0.4.0 → csv_stats-0.4.2}/src/csvstats/core.py +12 -1
  7. {csv_stats-0.4.0 → csv_stats-0.4.2}/src/csvstats/descriptive.py +10 -3
  8. csv_stats-0.4.2/src/csvstats/lmm.py +858 -0
  9. csv_stats-0.4.2/src/csvstats/lmm_fit.py +540 -0
  10. csv_stats-0.4.2/src/csvstats/lmm_formula.py +259 -0
  11. csv_stats-0.4.2/tests/_lmm_oracle.py +239 -0
  12. csv_stats-0.4.2/tests/reference/README.md +107 -0
  13. csv_stats-0.4.2/tests/reference/check_lmm_optimum.R +57 -0
  14. csv_stats-0.4.2/tests/reference/lmm_reference_common.R +144 -0
  15. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/make_lmm_reference.R +16 -107
  16. csv_stats-0.4.2/tests/reference/make_lmm_scenarios.R +622 -0
  17. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/B2B2W2_complete_n17_icc50_effect_unit_intercept.json +1 -1
  18. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/B2B2W2_mcar15_n17_icc50_effect_unit_intercept.json +1 -1
  19. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/B2B2W2_monotone15_n17_icc50_effect_unit_intercept.json +1 -1
  20. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/B2W3_complete_n12_icc50_effect_unit_intercept.json +2 -2
  21. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/B2W3_complete_n17_icc50_effect_unit_intercept.json +2 -2
  22. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/B2W3_complete_n17_icc50_null_unit_intercept.json +2 -2
  23. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/B2W3_complete_n40_icc50_effect_unit_intercept.json +2 -2
  24. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/B2W3_complete_n6_icc50_effect_unit_intercept.json +2 -2
  25. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/B2W3_level_missing_one_group_n17_icc50_effect_unit_intercept.json +2 -2
  26. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/B2W3_mcar05_n17_icc50_effect_unit_intercept.json +2 -2
  27. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/B2W3_mcar15_n17_icc50_effect_unit_intercept.json +2 -2
  28. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/B2W3_mcar30_n17_icc50_effect_unit_intercept.json +2 -2
  29. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/B2W3_monotone15_n12_icc50_effect_unit_intercept.json +2 -2
  30. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/B2W3_monotone15_n17_icc50_effect_unit_intercept.json +2 -2
  31. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/B2W3_monotone15_n40_icc50_effect_unit_intercept.json +2 -2
  32. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/B2W3_monotone15_n6_icc50_effect_unit_intercept.json +2 -2
  33. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/B2W3_monotone40_n17_icc50_effect_unit_intercept.json +2 -2
  34. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/B2W3_monotone40_n17_icc50_null_unit_intercept.json +2 -2
  35. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/B2W3_singletons_n17_icc50_effect_unit_intercept.json +2 -2
  36. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/B2W3_sparse_cell_n17_icc50_effect_unit_intercept.json +2 -2
  37. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/B2W3_unequal_groups_n17_icc50_effect_unit_intercept.json +2 -2
  38. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/B2W3_unequal_reps_n17_icc50_effect_unit_intercept.json +2 -2
  39. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/B2rep_complete_n17_icc50_effect_unit_intercept.json +3 -3
  40. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/B2rep_unequal_reps_n17_icc50_effect_unit_intercept.json +3 -3
  41. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/B3W2_complete_n17_icc50_effect_unit_intercept.json +2 -2
  42. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/B3W2_mcar15_n17_icc50_effect_unit_intercept.json +2 -2
  43. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/B3W2_monotone15_n17_icc50_effect_unit_intercept.json +2 -2
  44. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/LABELS_complete_n17_icc50_effect_unit_intercept.json +2 -2
  45. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/LABELS_monotone15_n17_icc50_effect_unit_intercept.json +2 -2
  46. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/W2_complete_n17_icc50_effect_unit_intercept.json +3 -3
  47. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/W2_mcar05_n17_icc50_effect_unit_intercept.json +3 -3
  48. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/W2_mcar15_n17_icc50_effect_unit_intercept.json +3 -3
  49. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/W2_mcar30_n17_icc50_effect_unit_intercept.json +3 -3
  50. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/W2_monotone15_n17_icc50_effect_unit_intercept.json +3 -3
  51. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/W2_monotone40_n17_icc50_effect_unit_intercept.json +3 -3
  52. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/W2_singletons_n17_icc50_effect_unit_intercept.json +3 -3
  53. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/W2_sparse_cell_n17_icc50_effect_unit_intercept.json +3 -3
  54. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/W2_unequal_reps_n17_icc50_effect_unit_intercept.json +3 -3
  55. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/W2xW3_complete_n17_icc50_effect_unit_intercept.json +1 -1
  56. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/W2xW3_complete_n17_icc50_null_unit_intercept.json +1 -1
  57. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/W2xW3_mcar15_n17_icc50_effect_unit_intercept.json +1 -1
  58. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/W2xW3_monotone15_n17_icc50_effect_unit_intercept.json +1 -1
  59. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/W2xW3_monotone40_n17_icc50_effect_unit_intercept.json +1 -1
  60. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/W2xW3_monotone40_n17_icc50_null_unit_intercept.json +1 -1
  61. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/W3_complete_n12_icc50_effect_unit_intercept.json +3 -3
  62. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/W3_complete_n17_icc0_effect_unit_intercept.json +3 -3
  63. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/W3_complete_n17_icc10_effect_unit_intercept.json +3 -3
  64. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/W3_complete_n17_icc50_effect_large_intercept.json +3 -3
  65. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/W3_complete_n17_icc50_effect_small_intercept.json +3 -3
  66. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/W3_complete_n17_icc50_effect_unit_intercept.json +3 -3
  67. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/W3_complete_n17_icc80_effect_unit_intercept.json +3 -3
  68. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/W3_complete_n40_icc50_effect_unit_intercept.json +3 -3
  69. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/W3_complete_n6_icc50_effect_unit_intercept.json +3 -3
  70. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/W3_mcar05_n17_icc50_effect_unit_intercept.json +3 -3
  71. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/W3_mcar15_n17_icc0_effect_unit_intercept.json +3 -3
  72. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/W3_mcar15_n17_icc10_effect_unit_intercept.json +3 -3
  73. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/W3_mcar15_n17_icc50_effect_large_intercept.json +3 -3
  74. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/W3_mcar15_n17_icc50_effect_small_intercept.json +3 -3
  75. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/W3_mcar15_n17_icc50_effect_unit_intercept.json +3 -3
  76. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/W3_mcar15_n17_icc80_effect_unit_intercept.json +3 -3
  77. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/W3_mcar30_n17_icc50_effect_unit_intercept.json +3 -3
  78. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/W3_monotone15_n12_icc50_effect_unit_intercept.json +3 -3
  79. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/W3_monotone15_n17_icc50_effect_unit_intercept.json +3 -3
  80. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/W3_monotone15_n40_icc50_effect_unit_intercept.json +3 -3
  81. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/W3_monotone15_n6_icc50_effect_unit_intercept.json +3 -3
  82. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/W3_monotone40_n17_icc50_effect_unit_intercept.json +3 -3
  83. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/W3_singletons_n17_icc50_effect_unit_intercept.json +3 -3
  84. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/W3_sparse_cell_n17_icc50_effect_unit_intercept.json +3 -3
  85. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/W3_unequal_reps_n17_icc50_effect_unit_intercept.json +3 -3
  86. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/W3rep_complete_n17_icc50_effect_unit_intercept.json +3 -3
  87. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/W3rep_complete_n17_icc50_effect_unit_slopes.json +3 -3
  88. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/W3rep_mcar15_n17_icc50_effect_unit_intercept.json +3 -3
  89. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/W3rep_mcar15_n17_icc50_effect_unit_slopes.json +3 -3
  90. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/W3rep_monotone15_n17_icc50_effect_unit_intercept.json +3 -3
  91. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/W7_complete_n17_icc50_effect_unit_intercept.json +3 -3
  92. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/W7_mcar15_n17_icc50_effect_unit_intercept.json +3 -3
  93. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/results/W7_monotone15_n17_icc50_effect_unit_intercept.json +3 -3
  94. csv_stats-0.4.2/tests/reference/scenarios/datasets/CROSSED_001.csv +231 -0
  95. csv_stats-0.4.2/tests/reference/scenarios/datasets/CROSSED_002.csv +221 -0
  96. csv_stats-0.4.2/tests/reference/scenarios/datasets/CROSSED_003.csv +157 -0
  97. csv_stats-0.4.2/tests/reference/scenarios/datasets/CROSSED_004.csv +96 -0
  98. csv_stats-0.4.2/tests/reference/scenarios/datasets/CROSSED_005.csv +79 -0
  99. csv_stats-0.4.2/tests/reference/scenarios/datasets/CROSSED_006.csv +84 -0
  100. csv_stats-0.4.2/tests/reference/scenarios/datasets/CROSSED_007.csv +163 -0
  101. csv_stats-0.4.2/tests/reference/scenarios/datasets/CROSSED_008.csv +161 -0
  102. csv_stats-0.4.2/tests/reference/scenarios/datasets/CROSSED_009.csv +682 -0
  103. csv_stats-0.4.2/tests/reference/scenarios/datasets/CROSSED_010.csv +58 -0
  104. csv_stats-0.4.2/tests/reference/scenarios/datasets/CROSSED_011.csv +21 -0
  105. csv_stats-0.4.2/tests/reference/scenarios/datasets/CROSSED_012.csv +17 -0
  106. csv_stats-0.4.2/tests/reference/scenarios/datasets/CROSSED_013.csv +43 -0
  107. csv_stats-0.4.2/tests/reference/scenarios/datasets/CROSSED_014.csv +239 -0
  108. csv_stats-0.4.2/tests/reference/scenarios/datasets/CROSSED_015.csv +160 -0
  109. csv_stats-0.4.2/tests/reference/scenarios/datasets/CROSSED_016.csv +490 -0
  110. csv_stats-0.4.2/tests/reference/scenarios/datasets/CROSSED_017.csv +139 -0
  111. csv_stats-0.4.2/tests/reference/scenarios/datasets/CROSSED_018.csv +417 -0
  112. csv_stats-0.4.2/tests/reference/scenarios/datasets/CROSSED_019.csv +109 -0
  113. csv_stats-0.4.2/tests/reference/scenarios/datasets/CROSSED_020.csv +647 -0
  114. csv_stats-0.4.2/tests/reference/scenarios/datasets/CROSSED_021.csv +138 -0
  115. csv_stats-0.4.2/tests/reference/scenarios/datasets/CROSSED_022.csv +75 -0
  116. csv_stats-0.4.2/tests/reference/scenarios/datasets/CROSSED_023.csv +103 -0
  117. csv_stats-0.4.2/tests/reference/scenarios/datasets/CROSSED_024.csv +228 -0
  118. csv_stats-0.4.2/tests/reference/scenarios/datasets/CROSSED_025.csv +88 -0
  119. csv_stats-0.4.2/tests/reference/scenarios/datasets/CROSSED_SLOPES_001.csv +226 -0
  120. csv_stats-0.4.2/tests/reference/scenarios/datasets/CROSSED_SLOPES_002.csv +267 -0
  121. csv_stats-0.4.2/tests/reference/scenarios/datasets/CROSSED_SLOPES_003.csv +85 -0
  122. csv_stats-0.4.2/tests/reference/scenarios/datasets/CROSSED_SLOPES_004.csv +76 -0
  123. csv_stats-0.4.2/tests/reference/scenarios/datasets/CROSSED_SLOPES_005.csv +475 -0
  124. csv_stats-0.4.2/tests/reference/scenarios/datasets/CROSSED_SLOPES_006.csv +317 -0
  125. csv_stats-0.4.2/tests/reference/scenarios/datasets/CROSSED_SLOPES_007.csv +195 -0
  126. csv_stats-0.4.2/tests/reference/scenarios/datasets/CROSSED_SLOPES_008.csv +246 -0
  127. csv_stats-0.4.2/tests/reference/scenarios/datasets/CROSSED_SLOPES_009.csv +242 -0
  128. csv_stats-0.4.2/tests/reference/scenarios/datasets/CROSSED_SLOPES_010.csv +237 -0
  129. csv_stats-0.4.2/tests/reference/scenarios/datasets/CROSSED_SLOPES_011.csv +21 -0
  130. csv_stats-0.4.2/tests/reference/scenarios/datasets/CROSSED_SLOPES_012.csv +32 -0
  131. csv_stats-0.4.2/tests/reference/scenarios/datasets/CROSSED_SLOPES_013.csv +40 -0
  132. csv_stats-0.4.2/tests/reference/scenarios/datasets/CROSSED_SLOPES_014.csv +425 -0
  133. csv_stats-0.4.2/tests/reference/scenarios/datasets/CROSSED_SLOPES_015.csv +169 -0
  134. csv_stats-0.4.2/tests/reference/scenarios/datasets/CROSSED_SLOPES_016.csv +361 -0
  135. csv_stats-0.4.2/tests/reference/scenarios/datasets/CROSSED_SLOPES_017.csv +145 -0
  136. csv_stats-0.4.2/tests/reference/scenarios/datasets/CROSSED_SLOPES_018.csv +577 -0
  137. csv_stats-0.4.2/tests/reference/scenarios/datasets/CROSSED_SLOPES_019.csv +118 -0
  138. csv_stats-0.4.2/tests/reference/scenarios/datasets/CROSSED_SLOPES_020.csv +98 -0
  139. csv_stats-0.4.2/tests/reference/scenarios/datasets/CROSSED_SLOPES_021.csv +113 -0
  140. csv_stats-0.4.2/tests/reference/scenarios/datasets/CROSSED_SLOPES_022.csv +249 -0
  141. csv_stats-0.4.2/tests/reference/scenarios/datasets/CROSSED_SLOPES_023.csv +161 -0
  142. csv_stats-0.4.2/tests/reference/scenarios/datasets/CROSSED_SLOPES_024.csv +108 -0
  143. csv_stats-0.4.2/tests/reference/scenarios/datasets/CROSSED_SLOPES_025.csv +417 -0
  144. csv_stats-0.4.2/tests/reference/scenarios/datasets/NESTED_001.csv +193 -0
  145. csv_stats-0.4.2/tests/reference/scenarios/datasets/NESTED_002.csv +187 -0
  146. csv_stats-0.4.2/tests/reference/scenarios/datasets/NESTED_003.csv +40 -0
  147. csv_stats-0.4.2/tests/reference/scenarios/datasets/NESTED_004.csv +121 -0
  148. csv_stats-0.4.2/tests/reference/scenarios/datasets/NESTED_005.csv +224 -0
  149. csv_stats-0.4.2/tests/reference/scenarios/datasets/NESTED_006.csv +127 -0
  150. csv_stats-0.4.2/tests/reference/scenarios/datasets/NESTED_007.csv +118 -0
  151. csv_stats-0.4.2/tests/reference/scenarios/datasets/NESTED_008.csv +178 -0
  152. csv_stats-0.4.2/tests/reference/scenarios/datasets/NESTED_009.csv +363 -0
  153. csv_stats-0.4.2/tests/reference/scenarios/datasets/NESTED_010.csv +126 -0
  154. csv_stats-0.4.2/tests/reference/scenarios/datasets/NESTED_011.csv +25 -0
  155. csv_stats-0.4.2/tests/reference/scenarios/datasets/NESTED_012.csv +21 -0
  156. csv_stats-0.4.2/tests/reference/scenarios/datasets/NESTED_013.csv +18 -0
  157. csv_stats-0.4.2/tests/reference/scenarios/datasets/NESTED_014.csv +45 -0
  158. csv_stats-0.4.2/tests/reference/scenarios/datasets/NESTED_015.csv +114 -0
  159. csv_stats-0.4.2/tests/reference/scenarios/datasets/NESTED_016.csv +35 -0
  160. csv_stats-0.4.2/tests/reference/scenarios/datasets/NESTED_017.csv +115 -0
  161. csv_stats-0.4.2/tests/reference/scenarios/datasets/NESTED_018.csv +83 -0
  162. csv_stats-0.4.2/tests/reference/scenarios/datasets/NESTED_019.csv +190 -0
  163. csv_stats-0.4.2/tests/reference/scenarios/datasets/NESTED_020.csv +27 -0
  164. csv_stats-0.4.2/tests/reference/scenarios/datasets/NESTED_021.csv +60 -0
  165. csv_stats-0.4.2/tests/reference/scenarios/datasets/NESTED_022.csv +37 -0
  166. csv_stats-0.4.2/tests/reference/scenarios/datasets/NESTED_023.csv +63 -0
  167. csv_stats-0.4.2/tests/reference/scenarios/datasets/NESTED_024.csv +142 -0
  168. csv_stats-0.4.2/tests/reference/scenarios/datasets/NESTED_025.csv +141 -0
  169. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIF_001.csv +137 -0
  170. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIF_002.csv +473 -0
  171. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIF_003.csv +97 -0
  172. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIF_004.csv +191 -0
  173. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIF_005.csv +104 -0
  174. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIF_006.csv +541 -0
  175. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIF_007.csv +209 -0
  176. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIF_008.csv +45 -0
  177. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIF_009.csv +74 -0
  178. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIF_010.csv +257 -0
  179. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIF_011.csv +61 -0
  180. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIF_012.csv +61 -0
  181. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIF_013.csv +50 -0
  182. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIF_014.csv +25 -0
  183. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIF_015.csv +86 -0
  184. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIF_016.csv +34 -0
  185. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIF_017.csv +222 -0
  186. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIF_018.csv +111 -0
  187. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIF_019.csv +196 -0
  188. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIF_020.csv +76 -0
  189. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIF_021.csv +113 -0
  190. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIF_022.csv +89 -0
  191. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIF_023.csv +63 -0
  192. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIF_024.csv +109 -0
  193. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIF_025.csv +53 -0
  194. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_001.csv +79 -0
  195. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_002.csv +246 -0
  196. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_003.csv +85 -0
  197. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_004.csv +243 -0
  198. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_005.csv +169 -0
  199. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_006.csv +102 -0
  200. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_007.csv +289 -0
  201. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_008.csv +76 -0
  202. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_009.csv +165 -0
  203. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_010.csv +43 -0
  204. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_011.csv +37 -0
  205. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_012.csv +24 -0
  206. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_013.csv +12 -0
  207. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_014.csv +84 -0
  208. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_015.csv +36 -0
  209. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_016.csv +61 -0
  210. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_017.csv +38 -0
  211. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_018.csv +80 -0
  212. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_019.csv +85 -0
  213. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_020.csv +93 -0
  214. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_021.csv +159 -0
  215. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_022.csv +61 -0
  216. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_023.csv +200 -0
  217. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_024.csv +92 -0
  218. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_025.csv +58 -0
  219. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_FACTOR_001.csv +271 -0
  220. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_FACTOR_002.csv +133 -0
  221. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_FACTOR_003.csv +211 -0
  222. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_FACTOR_004.csv +487 -0
  223. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_FACTOR_005.csv +697 -0
  224. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_FACTOR_006.csv +298 -0
  225. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_FACTOR_007.csv +91 -0
  226. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_FACTOR_008.csv +65 -0
  227. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_FACTOR_009.csv +271 -0
  228. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_FACTOR_010.csv +116 -0
  229. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_FACTOR_011.csv +46 -0
  230. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_FACTOR_012.csv +61 -0
  231. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_FACTOR_013.csv +97 -0
  232. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_FACTOR_014.csv +130 -0
  233. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_FACTOR_015.csv +164 -0
  234. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_FACTOR_016.csv +191 -0
  235. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_FACTOR_017.csv +179 -0
  236. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_FACTOR_018.csv +257 -0
  237. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_FACTOR_019.csv +90 -0
  238. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_FACTOR_020.csv +205 -0
  239. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_FACTOR_021.csv +103 -0
  240. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_FACTOR_022.csv +213 -0
  241. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_FACTOR_023.csv +153 -0
  242. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_FACTOR_024.csv +163 -0
  243. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_FACTOR_025.csv +172 -0
  244. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_UNCORR_001.csv +61 -0
  245. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_UNCORR_002.csv +28 -0
  246. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_UNCORR_003.csv +79 -0
  247. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_UNCORR_004.csv +154 -0
  248. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_UNCORR_005.csv +95 -0
  249. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_UNCORR_006.csv +225 -0
  250. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_UNCORR_007.csv +92 -0
  251. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_UNCORR_008.csv +173 -0
  252. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_UNCORR_009.csv +26 -0
  253. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_UNCORR_010.csv +154 -0
  254. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_UNCORR_011.csv +29 -0
  255. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_UNCORR_012.csv +36 -0
  256. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_UNCORR_013.csv +19 -0
  257. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_UNCORR_014.csv +30 -0
  258. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_UNCORR_015.csv +70 -0
  259. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_UNCORR_016.csv +106 -0
  260. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_UNCORR_017.csv +116 -0
  261. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_UNCORR_018.csv +205 -0
  262. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_UNCORR_019.csv +39 -0
  263. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_UNCORR_020.csv +105 -0
  264. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_UNCORR_021.csv +37 -0
  265. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_UNCORR_022.csv +217 -0
  266. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_UNCORR_023.csv +44 -0
  267. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_UNCORR_024.csv +226 -0
  268. csv_stats-0.4.2/tests/reference/scenarios/datasets/RIS_UNCORR_025.csv +153 -0
  269. csv_stats-0.4.2/tests/reference/scenarios/datasets/RI_001.csv +89 -0
  270. csv_stats-0.4.2/tests/reference/scenarios/datasets/RI_002.csv +133 -0
  271. csv_stats-0.4.2/tests/reference/scenarios/datasets/RI_003.csv +213 -0
  272. csv_stats-0.4.2/tests/reference/scenarios/datasets/RI_004.csv +61 -0
  273. csv_stats-0.4.2/tests/reference/scenarios/datasets/RI_005.csv +30 -0
  274. csv_stats-0.4.2/tests/reference/scenarios/datasets/RI_006.csv +88 -0
  275. csv_stats-0.4.2/tests/reference/scenarios/datasets/RI_007.csv +154 -0
  276. csv_stats-0.4.2/tests/reference/scenarios/datasets/RI_008.csv +129 -0
  277. csv_stats-0.4.2/tests/reference/scenarios/datasets/RI_009.csv +122 -0
  278. csv_stats-0.4.2/tests/reference/scenarios/datasets/RI_010.csv +40 -0
  279. csv_stats-0.4.2/tests/reference/scenarios/datasets/RI_011.csv +13 -0
  280. csv_stats-0.4.2/tests/reference/scenarios/datasets/RI_012.csv +45 -0
  281. csv_stats-0.4.2/tests/reference/scenarios/datasets/RI_013.csv +70 -0
  282. csv_stats-0.4.2/tests/reference/scenarios/datasets/RI_014.csv +197 -0
  283. csv_stats-0.4.2/tests/reference/scenarios/datasets/RI_015.csv +76 -0
  284. csv_stats-0.4.2/tests/reference/scenarios/datasets/RI_016.csv +236 -0
  285. csv_stats-0.4.2/tests/reference/scenarios/datasets/RI_017.csv +19 -0
  286. csv_stats-0.4.2/tests/reference/scenarios/datasets/RI_018.csv +40 -0
  287. csv_stats-0.4.2/tests/reference/scenarios/datasets/RI_019.csv +86 -0
  288. csv_stats-0.4.2/tests/reference/scenarios/datasets/RI_020.csv +70 -0
  289. csv_stats-0.4.2/tests/reference/scenarios/datasets/RI_021.csv +49 -0
  290. csv_stats-0.4.2/tests/reference/scenarios/datasets/RI_022.csv +120 -0
  291. csv_stats-0.4.2/tests/reference/scenarios/datasets/RI_023.csv +259 -0
  292. csv_stats-0.4.2/tests/reference/scenarios/datasets/RI_024.csv +70 -0
  293. csv_stats-0.4.2/tests/reference/scenarios/datasets/RI_025.csv +246 -0
  294. csv_stats-0.4.2/tests/reference/scenarios/datasets/RM_001.csv +91 -0
  295. csv_stats-0.4.2/tests/reference/scenarios/datasets/RM_002.csv +205 -0
  296. csv_stats-0.4.2/tests/reference/scenarios/datasets/RM_003.csv +187 -0
  297. csv_stats-0.4.2/tests/reference/scenarios/datasets/RM_004.csv +257 -0
  298. csv_stats-0.4.2/tests/reference/scenarios/datasets/RM_005.csv +154 -0
  299. csv_stats-0.4.2/tests/reference/scenarios/datasets/RM_006.csv +561 -0
  300. csv_stats-0.4.2/tests/reference/scenarios/datasets/RM_007.csv +141 -0
  301. csv_stats-0.4.2/tests/reference/scenarios/datasets/RM_008.csv +329 -0
  302. csv_stats-0.4.2/tests/reference/scenarios/datasets/RM_009.csv +271 -0
  303. csv_stats-0.4.2/tests/reference/scenarios/datasets/RM_010.csv +177 -0
  304. csv_stats-0.4.2/tests/reference/scenarios/datasets/RM_011.csv +44 -0
  305. csv_stats-0.4.2/tests/reference/scenarios/datasets/RM_012.csv +38 -0
  306. csv_stats-0.4.2/tests/reference/scenarios/datasets/RM_013.csv +39 -0
  307. csv_stats-0.4.2/tests/reference/scenarios/datasets/RM_014.csv +72 -0
  308. csv_stats-0.4.2/tests/reference/scenarios/datasets/RM_015.csv +74 -0
  309. csv_stats-0.4.2/tests/reference/scenarios/datasets/RM_016.csv +121 -0
  310. csv_stats-0.4.2/tests/reference/scenarios/datasets/RM_017.csv +239 -0
  311. csv_stats-0.4.2/tests/reference/scenarios/datasets/RM_018.csv +336 -0
  312. csv_stats-0.4.2/tests/reference/scenarios/datasets/RM_019.csv +532 -0
  313. csv_stats-0.4.2/tests/reference/scenarios/datasets/RM_020.csv +108 -0
  314. csv_stats-0.4.2/tests/reference/scenarios/datasets/RM_021.csv +244 -0
  315. csv_stats-0.4.2/tests/reference/scenarios/datasets/RM_022.csv +100 -0
  316. csv_stats-0.4.2/tests/reference/scenarios/datasets/RM_023.csv +313 -0
  317. csv_stats-0.4.2/tests/reference/scenarios/datasets/RM_024.csv +91 -0
  318. csv_stats-0.4.2/tests/reference/scenarios/datasets/RM_025.csv +73 -0
  319. csv_stats-0.4.2/tests/reference/scenarios/manifest.csv +226 -0
  320. csv_stats-0.4.2/tests/reference/scenarios/ours_check.json +122 -0
  321. csv_stats-0.4.2/tests/reference/scenarios/results/CROSSED_001.json +250 -0
  322. csv_stats-0.4.2/tests/reference/scenarios/results/CROSSED_002.json +250 -0
  323. csv_stats-0.4.2/tests/reference/scenarios/results/CROSSED_003.json +298 -0
  324. csv_stats-0.4.2/tests/reference/scenarios/results/CROSSED_004.json +304 -0
  325. csv_stats-0.4.2/tests/reference/scenarios/results/CROSSED_005.json +250 -0
  326. csv_stats-0.4.2/tests/reference/scenarios/results/CROSSED_006.json +329 -0
  327. csv_stats-0.4.2/tests/reference/scenarios/results/CROSSED_007.json +256 -0
  328. csv_stats-0.4.2/tests/reference/scenarios/results/CROSSED_008.json +250 -0
  329. csv_stats-0.4.2/tests/reference/scenarios/results/CROSSED_009.json +250 -0
  330. csv_stats-0.4.2/tests/reference/scenarios/results/CROSSED_010.json +250 -0
  331. csv_stats-0.4.2/tests/reference/scenarios/results/CROSSED_011.json +304 -0
  332. csv_stats-0.4.2/tests/reference/scenarios/results/CROSSED_012.json +300 -0
  333. csv_stats-0.4.2/tests/reference/scenarios/results/CROSSED_013.json +304 -0
  334. csv_stats-0.4.2/tests/reference/scenarios/results/CROSSED_014.json +298 -0
  335. csv_stats-0.4.2/tests/reference/scenarios/results/CROSSED_015.json +323 -0
  336. csv_stats-0.4.2/tests/reference/scenarios/results/CROSSED_016.json +250 -0
  337. csv_stats-0.4.2/tests/reference/scenarios/results/CROSSED_017.json +323 -0
  338. csv_stats-0.4.2/tests/reference/scenarios/results/CROSSED_018.json +250 -0
  339. csv_stats-0.4.2/tests/reference/scenarios/results/CROSSED_019.json +329 -0
  340. csv_stats-0.4.2/tests/reference/scenarios/results/CROSSED_020.json +323 -0
  341. csv_stats-0.4.2/tests/reference/scenarios/results/CROSSED_021.json +250 -0
  342. csv_stats-0.4.2/tests/reference/scenarios/results/CROSSED_022.json +250 -0
  343. csv_stats-0.4.2/tests/reference/scenarios/results/CROSSED_023.json +323 -0
  344. csv_stats-0.4.2/tests/reference/scenarios/results/CROSSED_024.json +298 -0
  345. csv_stats-0.4.2/tests/reference/scenarios/results/CROSSED_025.json +298 -0
  346. csv_stats-0.4.2/tests/reference/scenarios/results/CROSSED_SLOPES_001.json +361 -0
  347. csv_stats-0.4.2/tests/reference/scenarios/results/CROSSED_SLOPES_002.json +361 -0
  348. csv_stats-0.4.2/tests/reference/scenarios/results/CROSSED_SLOPES_003.json +361 -0
  349. csv_stats-0.4.2/tests/reference/scenarios/results/CROSSED_SLOPES_004.json +371 -0
  350. csv_stats-0.4.2/tests/reference/scenarios/results/CROSSED_SLOPES_005.json +361 -0
  351. csv_stats-0.4.2/tests/reference/scenarios/results/CROSSED_SLOPES_006.json +367 -0
  352. csv_stats-0.4.2/tests/reference/scenarios/results/CROSSED_SLOPES_007.json +361 -0
  353. csv_stats-0.4.2/tests/reference/scenarios/results/CROSSED_SLOPES_008.json +361 -0
  354. csv_stats-0.4.2/tests/reference/scenarios/results/CROSSED_SLOPES_009.json +367 -0
  355. csv_stats-0.4.2/tests/reference/scenarios/results/CROSSED_SLOPES_010.json +367 -0
  356. csv_stats-0.4.2/tests/reference/scenarios/results/CROSSED_SLOPES_011.json +367 -0
  357. csv_stats-0.4.2/tests/reference/scenarios/results/CROSSED_SLOPES_012.json +361 -0
  358. csv_stats-0.4.2/tests/reference/scenarios/results/CROSSED_SLOPES_013.json +367 -0
  359. csv_stats-0.4.2/tests/reference/scenarios/results/CROSSED_SLOPES_014.json +361 -0
  360. csv_stats-0.4.2/tests/reference/scenarios/results/CROSSED_SLOPES_015.json +361 -0
  361. csv_stats-0.4.2/tests/reference/scenarios/results/CROSSED_SLOPES_016.json +361 -0
  362. csv_stats-0.4.2/tests/reference/scenarios/results/CROSSED_SLOPES_017.json +361 -0
  363. csv_stats-0.4.2/tests/reference/scenarios/results/CROSSED_SLOPES_018.json +361 -0
  364. csv_stats-0.4.2/tests/reference/scenarios/results/CROSSED_SLOPES_019.json +367 -0
  365. csv_stats-0.4.2/tests/reference/scenarios/results/CROSSED_SLOPES_020.json +367 -0
  366. csv_stats-0.4.2/tests/reference/scenarios/results/CROSSED_SLOPES_021.json +361 -0
  367. csv_stats-0.4.2/tests/reference/scenarios/results/CROSSED_SLOPES_022.json +363 -0
  368. csv_stats-0.4.2/tests/reference/scenarios/results/CROSSED_SLOPES_023.json +361 -0
  369. csv_stats-0.4.2/tests/reference/scenarios/results/CROSSED_SLOPES_024.json +361 -0
  370. csv_stats-0.4.2/tests/reference/scenarios/results/CROSSED_SLOPES_025.json +361 -0
  371. csv_stats-0.4.2/tests/reference/scenarios/results/NESTED_001.json +383 -0
  372. csv_stats-0.4.2/tests/reference/scenarios/results/NESTED_002.json +383 -0
  373. csv_stats-0.4.2/tests/reference/scenarios/results/NESTED_003.json +300 -0
  374. csv_stats-0.4.2/tests/reference/scenarios/results/NESTED_004.json +304 -0
  375. csv_stats-0.4.2/tests/reference/scenarios/results/NESTED_005.json +389 -0
  376. csv_stats-0.4.2/tests/reference/scenarios/results/NESTED_006.json +630 -0
  377. csv_stats-0.4.2/tests/reference/scenarios/results/NESTED_007.json +636 -0
  378. csv_stats-0.4.2/tests/reference/scenarios/results/NESTED_008.json +632 -0
  379. csv_stats-0.4.2/tests/reference/scenarios/results/NESTED_009.json +383 -0
  380. csv_stats-0.4.2/tests/reference/scenarios/results/NESTED_010.json +298 -0
  381. csv_stats-0.4.2/tests/reference/scenarios/results/NESTED_011.json +310 -0
  382. csv_stats-0.4.2/tests/reference/scenarios/results/NESTED_012.json +636 -0
  383. csv_stats-0.4.2/tests/reference/scenarios/results/NESTED_013.json +298 -0
  384. csv_stats-0.4.2/tests/reference/scenarios/results/NESTED_014.json +383 -0
  385. csv_stats-0.4.2/tests/reference/scenarios/results/NESTED_015.json +630 -0
  386. csv_stats-0.4.2/tests/reference/scenarios/results/NESTED_016.json +300 -0
  387. csv_stats-0.4.2/tests/reference/scenarios/results/NESTED_017.json +630 -0
  388. csv_stats-0.4.2/tests/reference/scenarios/results/NESTED_018.json +304 -0
  389. csv_stats-0.4.2/tests/reference/scenarios/results/NESTED_019.json +350 -0
  390. csv_stats-0.4.2/tests/reference/scenarios/results/NESTED_020.json +385 -0
  391. csv_stats-0.4.2/tests/reference/scenarios/results/NESTED_021.json +298 -0
  392. csv_stats-0.4.2/tests/reference/scenarios/results/NESTED_022.json +630 -0
  393. csv_stats-0.4.2/tests/reference/scenarios/results/NESTED_023.json +632 -0
  394. csv_stats-0.4.2/tests/reference/scenarios/results/NESTED_024.json +298 -0
  395. csv_stats-0.4.2/tests/reference/scenarios/results/NESTED_025.json +630 -0
  396. csv_stats-0.4.2/tests/reference/scenarios/results/RIF_001.json +339 -0
  397. csv_stats-0.4.2/tests/reference/scenarios/results/RIF_002.json +333 -0
  398. csv_stats-0.4.2/tests/reference/scenarios/results/RIF_003.json +333 -0
  399. csv_stats-0.4.2/tests/reference/scenarios/results/RIF_004.json +333 -0
  400. csv_stats-0.4.2/tests/reference/scenarios/results/RIF_005.json +490 -0
  401. csv_stats-0.4.2/tests/reference/scenarios/results/RIF_006.json +339 -0
  402. csv_stats-0.4.2/tests/reference/scenarios/results/RIF_007.json +496 -0
  403. csv_stats-0.4.2/tests/reference/scenarios/results/RIF_008.json +494 -0
  404. csv_stats-0.4.2/tests/reference/scenarios/results/RIF_009.json +500 -0
  405. csv_stats-0.4.2/tests/reference/scenarios/results/RIF_010.json +496 -0
  406. csv_stats-0.4.2/tests/reference/scenarios/results/RIF_011.json +333 -0
  407. csv_stats-0.4.2/tests/reference/scenarios/results/RIF_012.json +496 -0
  408. csv_stats-0.4.2/tests/reference/scenarios/results/RIF_013.json +496 -0
  409. csv_stats-0.4.2/tests/reference/scenarios/results/RIF_014.json +496 -0
  410. csv_stats-0.4.2/tests/reference/scenarios/results/RIF_015.json +333 -0
  411. csv_stats-0.4.2/tests/reference/scenarios/results/RIF_016.json +333 -0
  412. csv_stats-0.4.2/tests/reference/scenarios/results/RIF_017.json +490 -0
  413. csv_stats-0.4.2/tests/reference/scenarios/results/RIF_018.json +490 -0
  414. csv_stats-0.4.2/tests/reference/scenarios/results/RIF_019.json +339 -0
  415. csv_stats-0.4.2/tests/reference/scenarios/results/RIF_020.json +496 -0
  416. csv_stats-0.4.2/tests/reference/scenarios/results/RIF_021.json +333 -0
  417. csv_stats-0.4.2/tests/reference/scenarios/results/RIF_022.json +339 -0
  418. csv_stats-0.4.2/tests/reference/scenarios/results/RIF_023.json +337 -0
  419. csv_stats-0.4.2/tests/reference/scenarios/results/RIF_024.json +490 -0
  420. csv_stats-0.4.2/tests/reference/scenarios/results/RIF_025.json +496 -0
  421. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_001.json +426 -0
  422. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_002.json +308 -0
  423. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_003.json +424 -0
  424. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_004.json +426 -0
  425. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_005.json +420 -0
  426. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_006.json +426 -0
  427. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_007.json +308 -0
  428. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_008.json +426 -0
  429. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_009.json +314 -0
  430. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_010.json +314 -0
  431. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_011.json +426 -0
  432. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_012.json +426 -0
  433. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_013.json +314 -0
  434. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_014.json +52 -0
  435. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_015.json +52 -0
  436. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_016.json +314 -0
  437. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_017.json +426 -0
  438. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_018.json +320 -0
  439. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_019.json +337 -0
  440. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_020.json +426 -0
  441. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_021.json +320 -0
  442. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_022.json +420 -0
  443. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_023.json +420 -0
  444. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_024.json +314 -0
  445. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_025.json +420 -0
  446. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_FACTOR_001.json +857 -0
  447. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_FACTOR_002.json +500 -0
  448. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_FACTOR_003.json +502 -0
  449. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_FACTOR_004.json +857 -0
  450. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_FACTOR_005.json +857 -0
  451. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_FACTOR_006.json +863 -0
  452. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_FACTOR_007.json +857 -0
  453. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_FACTOR_008.json +857 -0
  454. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_FACTOR_009.json +506 -0
  455. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_FACTOR_010.json +857 -0
  456. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_FACTOR_011.json +857 -0
  457. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_FACTOR_012.json +506 -0
  458. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_FACTOR_013.json +851 -0
  459. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_FACTOR_014.json +857 -0
  460. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_FACTOR_015.json +506 -0
  461. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_FACTOR_016.json +857 -0
  462. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_FACTOR_017.json +851 -0
  463. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_FACTOR_018.json +506 -0
  464. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_FACTOR_019.json +672 -0
  465. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_FACTOR_020.json +506 -0
  466. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_FACTOR_021.json +851 -0
  467. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_FACTOR_022.json +851 -0
  468. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_FACTOR_023.json +500 -0
  469. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_FACTOR_024.json +853 -0
  470. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_FACTOR_025.json +512 -0
  471. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_UNCORR_001.json +407 -0
  472. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_UNCORR_002.json +401 -0
  473. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_UNCORR_003.json +289 -0
  474. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_UNCORR_004.json +295 -0
  475. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_UNCORR_005.json +289 -0
  476. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_UNCORR_006.json +289 -0
  477. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_UNCORR_007.json +295 -0
  478. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_UNCORR_008.json +293 -0
  479. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_UNCORR_009.json +295 -0
  480. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_UNCORR_010.json +295 -0
  481. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_UNCORR_011.json +407 -0
  482. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_UNCORR_012.json +407 -0
  483. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_UNCORR_013.json +289 -0
  484. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_UNCORR_014.json +401 -0
  485. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_UNCORR_015.json +291 -0
  486. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_UNCORR_016.json +295 -0
  487. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_UNCORR_017.json +407 -0
  488. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_UNCORR_018.json +407 -0
  489. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_UNCORR_019.json +318 -0
  490. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_UNCORR_020.json +407 -0
  491. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_UNCORR_021.json +407 -0
  492. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_UNCORR_022.json +407 -0
  493. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_UNCORR_023.json +401 -0
  494. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_UNCORR_024.json +295 -0
  495. csv_stats-0.4.2/tests/reference/scenarios/results/RIS_UNCORR_025.json +407 -0
  496. csv_stats-0.4.2/tests/reference/scenarios/results/RI_001.json +222 -0
  497. csv_stats-0.4.2/tests/reference/scenarios/results/RI_002.json +382 -0
  498. csv_stats-0.4.2/tests/reference/scenarios/results/RI_003.json +222 -0
  499. csv_stats-0.4.2/tests/reference/scenarios/results/RI_004.json +276 -0
  500. csv_stats-0.4.2/tests/reference/scenarios/results/RI_005.json +228 -0
  501. csv_stats-0.4.2/tests/reference/scenarios/results/RI_006.json +228 -0
  502. csv_stats-0.4.2/tests/reference/scenarios/results/RI_007.json +276 -0
  503. csv_stats-0.4.2/tests/reference/scenarios/results/RI_008.json +222 -0
  504. csv_stats-0.4.2/tests/reference/scenarios/results/RI_009.json +602 -0
  505. csv_stats-0.4.2/tests/reference/scenarios/results/RI_010.json +270 -0
  506. csv_stats-0.4.2/tests/reference/scenarios/results/RI_011.json +228 -0
  507. csv_stats-0.4.2/tests/reference/scenarios/results/RI_012.json +602 -0
  508. csv_stats-0.4.2/tests/reference/scenarios/results/RI_013.json +602 -0
  509. csv_stats-0.4.2/tests/reference/scenarios/results/RI_014.json +355 -0
  510. csv_stats-0.4.2/tests/reference/scenarios/results/RI_015.json +605 -0
  511. csv_stats-0.4.2/tests/reference/scenarios/results/RI_016.json +602 -0
  512. csv_stats-0.4.2/tests/reference/scenarios/results/RI_017.json +388 -0
  513. csv_stats-0.4.2/tests/reference/scenarios/results/RI_018.json +270 -0
  514. csv_stats-0.4.2/tests/reference/scenarios/results/RI_019.json +232 -0
  515. csv_stats-0.4.2/tests/reference/scenarios/results/RI_020.json +222 -0
  516. csv_stats-0.4.2/tests/reference/scenarios/results/RI_021.json +222 -0
  517. csv_stats-0.4.2/tests/reference/scenarios/results/RI_022.json +355 -0
  518. csv_stats-0.4.2/tests/reference/scenarios/results/RI_023.json +355 -0
  519. csv_stats-0.4.2/tests/reference/scenarios/results/RI_024.json +388 -0
  520. csv_stats-0.4.2/tests/reference/scenarios/results/RI_025.json +355 -0
  521. csv_stats-0.4.2/tests/reference/scenarios/results/RM_001.json +632 -0
  522. csv_stats-0.4.2/tests/reference/scenarios/results/RM_002.json +630 -0
  523. csv_stats-0.4.2/tests/reference/scenarios/results/RM_003.json +630 -0
  524. csv_stats-0.4.2/tests/reference/scenarios/results/RM_004.json +389 -0
  525. csv_stats-0.4.2/tests/reference/scenarios/results/RM_005.json +389 -0
  526. csv_stats-0.4.2/tests/reference/scenarios/results/RM_006.json +389 -0
  527. csv_stats-0.4.2/tests/reference/scenarios/results/RM_007.json +389 -0
  528. csv_stats-0.4.2/tests/reference/scenarios/results/RM_008.json +630 -0
  529. csv_stats-0.4.2/tests/reference/scenarios/results/RM_009.json +630 -0
  530. csv_stats-0.4.2/tests/reference/scenarios/results/RM_010.json +385 -0
  531. csv_stats-0.4.2/tests/reference/scenarios/results/RM_011.json +630 -0
  532. csv_stats-0.4.2/tests/reference/scenarios/results/RM_012.json +389 -0
  533. csv_stats-0.4.2/tests/reference/scenarios/results/RM_013.json +636 -0
  534. csv_stats-0.4.2/tests/reference/scenarios/results/RM_014.json +383 -0
  535. csv_stats-0.4.2/tests/reference/scenarios/results/RM_015.json +383 -0
  536. csv_stats-0.4.2/tests/reference/scenarios/results/RM_016.json +383 -0
  537. csv_stats-0.4.2/tests/reference/scenarios/results/RM_017.json +383 -0
  538. csv_stats-0.4.2/tests/reference/scenarios/results/RM_018.json +630 -0
  539. csv_stats-0.4.2/tests/reference/scenarios/results/RM_019.json +454 -0
  540. csv_stats-0.4.2/tests/reference/scenarios/results/RM_020.json +383 -0
  541. csv_stats-0.4.2/tests/reference/scenarios/results/RM_021.json +630 -0
  542. csv_stats-0.4.2/tests/reference/scenarios/results/RM_022.json +383 -0
  543. csv_stats-0.4.2/tests/reference/scenarios/results/RM_023.json +632 -0
  544. csv_stats-0.4.2/tests/reference/scenarios/results/RM_024.json +383 -0
  545. csv_stats-0.4.2/tests/reference/scenarios/results/RM_025.json +383 -0
  546. csv_stats-0.4.2/tests/reference/write_ours_check.py +27 -0
  547. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/test_descriptive.py +7 -2
  548. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/test_lmm.py +0 -21
  549. csv_stats-0.4.2/tests/test_lmm_fit.py +278 -0
  550. csv_stats-0.4.2/tests/test_lmm_formula.py +122 -0
  551. csv_stats-0.4.2/tests/test_lmm_invariants.py +171 -0
  552. csv_stats-0.4.2/tests/test_lmm_pairwise_covariates.py +75 -0
  553. csv_stats-0.4.2/tests/test_lmm_reference.py +222 -0
  554. csv_stats-0.4.2/tests/test_lmm_scenarios.py +514 -0
  555. csv_stats-0.4.2/tests/test_lmm_type3.py +115 -0
  556. csv_stats-0.4.0/.gitignore +0 -5
  557. csv_stats-0.4.0/src/csvstats/__init__.py +0 -1
  558. csv_stats-0.4.0/src/csvstats/lmm.py +0 -748
  559. csv_stats-0.4.0/tests/reference/README.md +0 -49
  560. csv_stats-0.4.0/tests/test_lmm_reference.py +0 -317
  561. {csv_stats-0.4.0 → csv_stats-0.4.2}/src/csvstats/anova.py +0 -0
  562. {csv_stats-0.4.0 → csv_stats-0.4.2}/src/csvstats/ttest.py +0 -0
  563. {csv_stats-0.4.0 → csv_stats-0.4.2}/src/csvstats/utils/__init__.py +0 -0
  564. {csv_stats-0.4.0 → csv_stats-0.4.2}/src/csvstats/utils/load_data.py +0 -0
  565. {csv_stats-0.4.0 → csv_stats-0.4.2}/src/csvstats/utils/plot_data.py +0 -0
  566. {csv_stats-0.4.0 → csv_stats-0.4.2}/src/csvstats/utils/plot_helper.py +0 -0
  567. {csv_stats-0.4.0 → csv_stats-0.4.2}/src/csvstats/utils/run_all_columns.py +0 -0
  568. {csv_stats-0.4.0 → csv_stats-0.4.2}/src/csvstats/utils/save_stats.py +0 -0
  569. {csv_stats-0.4.0 → csv_stats-0.4.2}/src/csvstats/utils/summary_stats.py +0 -0
  570. {csv_stats-0.4.0 → csv_stats-0.4.2}/src/csvstats/utils/test_assumptions.py +0 -0
  571. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/B2B2W2_complete_n17_icc50_effect_unit_intercept.csv +0 -0
  572. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/B2B2W2_mcar15_n17_icc50_effect_unit_intercept.csv +0 -0
  573. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/B2B2W2_monotone15_n17_icc50_effect_unit_intercept.csv +0 -0
  574. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/B2W3_complete_n12_icc50_effect_unit_intercept.csv +0 -0
  575. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/B2W3_complete_n17_icc50_effect_unit_intercept.csv +0 -0
  576. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/B2W3_complete_n17_icc50_null_unit_intercept.csv +0 -0
  577. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/B2W3_complete_n40_icc50_effect_unit_intercept.csv +0 -0
  578. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/B2W3_complete_n6_icc50_effect_unit_intercept.csv +0 -0
  579. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/B2W3_level_missing_one_group_n17_icc50_effect_unit_intercept.csv +0 -0
  580. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/B2W3_mcar05_n17_icc50_effect_unit_intercept.csv +0 -0
  581. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/B2W3_mcar15_n17_icc50_effect_unit_intercept.csv +0 -0
  582. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/B2W3_mcar30_n17_icc50_effect_unit_intercept.csv +0 -0
  583. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/B2W3_monotone15_n12_icc50_effect_unit_intercept.csv +0 -0
  584. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/B2W3_monotone15_n17_icc50_effect_unit_intercept.csv +0 -0
  585. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/B2W3_monotone15_n40_icc50_effect_unit_intercept.csv +0 -0
  586. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/B2W3_monotone15_n6_icc50_effect_unit_intercept.csv +0 -0
  587. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/B2W3_monotone40_n17_icc50_effect_unit_intercept.csv +0 -0
  588. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/B2W3_monotone40_n17_icc50_null_unit_intercept.csv +0 -0
  589. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/B2W3_singletons_n17_icc50_effect_unit_intercept.csv +0 -0
  590. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/B2W3_sparse_cell_n17_icc50_effect_unit_intercept.csv +0 -0
  591. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/B2W3_unequal_groups_n17_icc50_effect_unit_intercept.csv +0 -0
  592. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/B2W3_unequal_reps_n17_icc50_effect_unit_intercept.csv +0 -0
  593. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/B2rep_complete_n17_icc50_effect_unit_intercept.csv +0 -0
  594. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/B2rep_unequal_reps_n17_icc50_effect_unit_intercept.csv +0 -0
  595. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/B3W2_complete_n17_icc50_effect_unit_intercept.csv +0 -0
  596. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/B3W2_mcar15_n17_icc50_effect_unit_intercept.csv +0 -0
  597. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/B3W2_monotone15_n17_icc50_effect_unit_intercept.csv +0 -0
  598. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/LABELS_complete_n17_icc50_effect_unit_intercept.csv +0 -0
  599. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/LABELS_monotone15_n17_icc50_effect_unit_intercept.csv +0 -0
  600. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/W2_complete_n17_icc50_effect_unit_intercept.csv +0 -0
  601. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/W2_mcar05_n17_icc50_effect_unit_intercept.csv +0 -0
  602. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/W2_mcar15_n17_icc50_effect_unit_intercept.csv +0 -0
  603. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/W2_mcar30_n17_icc50_effect_unit_intercept.csv +0 -0
  604. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/W2_monotone15_n17_icc50_effect_unit_intercept.csv +0 -0
  605. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/W2_monotone40_n17_icc50_effect_unit_intercept.csv +0 -0
  606. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/W2_singletons_n17_icc50_effect_unit_intercept.csv +0 -0
  607. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/W2_sparse_cell_n17_icc50_effect_unit_intercept.csv +0 -0
  608. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/W2_unequal_reps_n17_icc50_effect_unit_intercept.csv +0 -0
  609. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/W2xW3_complete_n17_icc50_effect_unit_intercept.csv +0 -0
  610. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/W2xW3_complete_n17_icc50_null_unit_intercept.csv +0 -0
  611. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/W2xW3_mcar15_n17_icc50_effect_unit_intercept.csv +0 -0
  612. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/W2xW3_monotone15_n17_icc50_effect_unit_intercept.csv +0 -0
  613. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/W2xW3_monotone40_n17_icc50_effect_unit_intercept.csv +0 -0
  614. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/W2xW3_monotone40_n17_icc50_null_unit_intercept.csv +0 -0
  615. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/W3_complete_n12_icc50_effect_unit_intercept.csv +0 -0
  616. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/W3_complete_n17_icc0_effect_unit_intercept.csv +0 -0
  617. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/W3_complete_n17_icc10_effect_unit_intercept.csv +0 -0
  618. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/W3_complete_n17_icc50_effect_large_intercept.csv +0 -0
  619. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/W3_complete_n17_icc50_effect_small_intercept.csv +0 -0
  620. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/W3_complete_n17_icc50_effect_unit_intercept.csv +0 -0
  621. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/W3_complete_n17_icc80_effect_unit_intercept.csv +0 -0
  622. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/W3_complete_n40_icc50_effect_unit_intercept.csv +0 -0
  623. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/W3_complete_n6_icc50_effect_unit_intercept.csv +0 -0
  624. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/W3_mcar05_n17_icc50_effect_unit_intercept.csv +0 -0
  625. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/W3_mcar15_n17_icc0_effect_unit_intercept.csv +0 -0
  626. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/W3_mcar15_n17_icc10_effect_unit_intercept.csv +0 -0
  627. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/W3_mcar15_n17_icc50_effect_large_intercept.csv +0 -0
  628. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/W3_mcar15_n17_icc50_effect_small_intercept.csv +0 -0
  629. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/W3_mcar15_n17_icc50_effect_unit_intercept.csv +0 -0
  630. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/W3_mcar15_n17_icc80_effect_unit_intercept.csv +0 -0
  631. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/W3_mcar30_n17_icc50_effect_unit_intercept.csv +0 -0
  632. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/W3_monotone15_n12_icc50_effect_unit_intercept.csv +0 -0
  633. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/W3_monotone15_n17_icc50_effect_unit_intercept.csv +0 -0
  634. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/W3_monotone15_n40_icc50_effect_unit_intercept.csv +0 -0
  635. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/W3_monotone15_n6_icc50_effect_unit_intercept.csv +0 -0
  636. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/W3_monotone40_n17_icc50_effect_unit_intercept.csv +0 -0
  637. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/W3_singletons_n17_icc50_effect_unit_intercept.csv +0 -0
  638. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/W3_sparse_cell_n17_icc50_effect_unit_intercept.csv +0 -0
  639. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/W3_unequal_reps_n17_icc50_effect_unit_intercept.csv +0 -0
  640. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/W3rep_complete_n17_icc50_effect_unit_intercept.csv +0 -0
  641. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/W3rep_complete_n17_icc50_effect_unit_slopes.csv +0 -0
  642. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/W3rep_mcar15_n17_icc50_effect_unit_intercept.csv +0 -0
  643. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/W3rep_mcar15_n17_icc50_effect_unit_slopes.csv +0 -0
  644. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/W3rep_monotone15_n17_icc50_effect_unit_intercept.csv +0 -0
  645. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/W7_complete_n17_icc50_effect_unit_intercept.csv +0 -0
  646. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/W7_mcar15_n17_icc50_effect_unit_intercept.csv +0 -0
  647. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/reference/datasets/W7_monotone15_n17_icc50_effect_unit_intercept.csv +0 -0
  648. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/test_anova1way.py +0 -0
  649. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/test_anova2way.py +0 -0
  650. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/test_assumption_checks.py +0 -0
  651. {csv_stats-0.4.0 → csv_stats-0.4.2}/tests/test_core.py +0 -0
@@ -0,0 +1,8 @@
1
+ /dist
2
+ /build
3
+ *.pyc
4
+ /src/csv_stats.egg-info
5
+ .DS_Store
6
+
7
+ # scratch input for tests/reference/check_lmm_optimum.R
8
+ tests/reference/scenarios/ours_check.json
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: csv-stats
3
- Version: 0.4.0
3
+ Version: 0.4.2
4
4
  Summary: A Python package for the life sciences to conduct hypothesis testing from CSV files.
5
5
  Project-URL: Homepage, https://github.com/mtillman14/csv-stats
6
6
  Project-URL: Documentation, https://github.com/mtillman14/csv-stats
@@ -57,10 +57,37 @@ ci_interval([4.1, 5.0, 6.2]) # (low, high); also a seaborn errorbar= calla
57
57
  ci_half_width(sd=1.2, n=5) # t(0.975, 4) * 1.2 / sqrt(5)
58
58
  ```
59
59
 
60
- ## Linear mixed models (0.4.0)
60
+ ## Linear mixed models (0.4.1)
61
61
  `csvstats.lmm` uses every observation: a subject missing some within-subject
62
62
  levels is kept, not dropped (a repeated-measures ANOVA or paired t-test would
63
- have to drop it). Random intercept per subject, REML, sum-to-zero coding.
63
+ have to drop it). REML, sum-to-zero coding. The random effects default to an
64
+ intercept per subject. `random=` takes any lme4-style structure:
65
+ - random slopes, correlated or uncorrelated (`||`)
66
+ - crossed groupings, e.g. subject + item
67
+ - nested and interaction groupings, e.g. `site:subject`
68
+
69
+ Numeric `covariates=` are crossed with the factors. Term tests are type III,
70
+ as in lmerTest and SAS. So a factor crossed with a covariate is tested at
71
+ covariate = 0, and a `type3_at_covariate_zero` warning says so. Centre the
72
+ covariate to test the factor at the covariate's mean.
73
+
74
+ `csvstats.lmm_formula` reads and writes the lme4 spelling of these models
75
+ (`parse("y ~ group * time * x + (1 + x | subject)")`, `render(...)`), with
76
+ errors that point at the offending character. It accepts what `lmm` can fit:
77
+ the fixed part is ONE crossing (`a * b * x`, or `1`), and random terms are
78
+ `(… | g)`, `(… || g)`, `a:b` and `a/b`. A model with no more observations
79
+ than random effects is refused before fitting, as lme4 does.
80
+
81
+ `lmm_pairwise` takes the same `covariates=` and compares levels with each
82
+ covariate at its mean (emmeans' reference grid), or at the value you give
83
+ in `covariates_at={"age": 65}`. The record's `details["covariates_at"]`
84
+ states the value used. So with a covariate, `lmm`'s F for a factor (at 0)
85
+ and `lmm_pairwise`'s contrasts (at the mean) answer different questions,
86
+ exactly as lmerTest's anova and emmeans do in R.
87
+
88
+ The fit is checked against lme4 on 225 sampled scenarios over 9
89
+ random-effect structures (tests/reference/scenarios). That covers the
90
+ criterion itself at fixed θ, the estimates, θ and the Satterthwaite df.
64
91
  Tests use **Satterthwaite** degrees of freedom, as R's lmerTest does: t(df) per
65
92
  coefficient, a type-III F(q, ddf) per term, and t(df) per pairwise contrast. The
66
93
  pairwise contrasts come from the full model (emmeans-style). Everything is checked
@@ -75,6 +102,11 @@ lmm(df, "step_length", within=["session", "speed"], subject="subject") # o
75
102
  lmm_pairwise(df, "step_length", within=["session", "speed"], subject="subject", factor="session",
76
103
  levels={"session": ["post", "pre"]}) # post − pre within each speed, t(df)
77
104
  assumption_checks(df, "step_length", within=["session"], subject="subject") # Shapiro–Wilk on residuals (+ Levene)
105
+
106
+ # Random slopes and crossed effects: y ~ cond * x + (1 + x | subject) + (1 | item)
107
+ lmm(df, "rt", within=["cond"], subject="subject", covariates=["x"],
108
+ random=[{"group": "subject", "terms": ["(Intercept)", "x"]},
109
+ {"group": "item"}])
78
110
  ```
79
111
 
80
112
  ## Examples
@@ -20,10 +20,37 @@ ci_interval([4.1, 5.0, 6.2]) # (low, high); also a seaborn errorbar= calla
20
20
  ci_half_width(sd=1.2, n=5) # t(0.975, 4) * 1.2 / sqrt(5)
21
21
  ```
22
22
 
23
- ## Linear mixed models (0.4.0)
23
+ ## Linear mixed models (0.4.1)
24
24
  `csvstats.lmm` uses every observation: a subject missing some within-subject
25
25
  levels is kept, not dropped (a repeated-measures ANOVA or paired t-test would
26
- have to drop it). Random intercept per subject, REML, sum-to-zero coding.
26
+ have to drop it). REML, sum-to-zero coding. The random effects default to an
27
+ intercept per subject. `random=` takes any lme4-style structure:
28
+ - random slopes, correlated or uncorrelated (`||`)
29
+ - crossed groupings, e.g. subject + item
30
+ - nested and interaction groupings, e.g. `site:subject`
31
+
32
+ Numeric `covariates=` are crossed with the factors. Term tests are type III,
33
+ as in lmerTest and SAS. So a factor crossed with a covariate is tested at
34
+ covariate = 0, and a `type3_at_covariate_zero` warning says so. Centre the
35
+ covariate to test the factor at the covariate's mean.
36
+
37
+ `csvstats.lmm_formula` reads and writes the lme4 spelling of these models
38
+ (`parse("y ~ group * time * x + (1 + x | subject)")`, `render(...)`), with
39
+ errors that point at the offending character. It accepts what `lmm` can fit:
40
+ the fixed part is ONE crossing (`a * b * x`, or `1`), and random terms are
41
+ `(… | g)`, `(… || g)`, `a:b` and `a/b`. A model with no more observations
42
+ than random effects is refused before fitting, as lme4 does.
43
+
44
+ `lmm_pairwise` takes the same `covariates=` and compares levels with each
45
+ covariate at its mean (emmeans' reference grid), or at the value you give
46
+ in `covariates_at={"age": 65}`. The record's `details["covariates_at"]`
47
+ states the value used. So with a covariate, `lmm`'s F for a factor (at 0)
48
+ and `lmm_pairwise`'s contrasts (at the mean) answer different questions,
49
+ exactly as lmerTest's anova and emmeans do in R.
50
+
51
+ The fit is checked against lme4 on 225 sampled scenarios over 9
52
+ random-effect structures (tests/reference/scenarios). That covers the
53
+ criterion itself at fixed θ, the estimates, θ and the Satterthwaite df.
27
54
  Tests use **Satterthwaite** degrees of freedom, as R's lmerTest does: t(df) per
28
55
  coefficient, a type-III F(q, ddf) per term, and t(df) per pairwise contrast. The
29
56
  pairwise contrasts come from the full model (emmeans-style). Everything is checked
@@ -38,6 +65,11 @@ lmm(df, "step_length", within=["session", "speed"], subject="subject") # o
38
65
  lmm_pairwise(df, "step_length", within=["session", "speed"], subject="subject", factor="session",
39
66
  levels={"session": ["post", "pre"]}) # post − pre within each speed, t(df)
40
67
  assumption_checks(df, "step_length", within=["session"], subject="subject") # Shapiro–Wilk on residuals (+ Levene)
68
+
69
+ # Random slopes and crossed effects: y ~ cond * x + (1 + x | subject) + (1 | item)
70
+ lmm(df, "rt", within=["cond"], subject="subject", covariates=["x"],
71
+ random=[{"group": "subject", "terms": ["(Intercept)", "x"]},
72
+ {"group": "item"}])
41
73
  ```
42
74
 
43
75
  ## Examples
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "csv-stats"
7
- version = "0.4.0"
7
+ version = "0.4.2"
8
8
  description = "A Python package for the life sciences to conduct hypothesis testing from CSV files."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.8"
@@ -61,4 +61,10 @@ packages = ["src/csvstats"]
61
61
  only-include = ["src/csvstats", "tests", "README.md"]
62
62
 
63
63
  [tool.hatch.build]
64
- ignore-vcs = true
64
+ ignore-vcs = true
65
+
66
+ # Collect only tests/. A bare `pytest` also walked src/, where the library
67
+ # module utils/test_assumptions.py (functions named test_*) was collected as
68
+ # tests and errored for missing fixtures.
69
+ [tool.pytest.ini_options]
70
+ testpaths = ["tests"]
@@ -0,0 +1 @@
1
+ __version__ = "0.4.2"
@@ -166,10 +166,17 @@ class _Prepared:
166
166
  factors: list[str],
167
167
  subject: str | None,
168
168
  levels: dict[str, list[Any]] | None,
169
+ extra: Sequence[str] = (),
169
170
  ) -> None:
171
+ """``extra``: further columns a test reads (an LMM's covariates,
172
+ random-effect groups and slopes), carried along; a row missing one
173
+ is dropped like a row missing the dv."""
170
174
  if not isinstance(data, pd.DataFrame):
171
175
  raise ValueError(f"data must be a pandas DataFrame, got {type(data).__name__}")
172
176
  needed = [dv, *factors, *([subject] if subject else [])]
177
+ # dict.fromkeys: a column named twice (a covariate that is also a
178
+ # random slope) must be selected once, or frame[c] is a DataFrame
179
+ needed += [c for c in dict.fromkeys(extra) if c not in needed]
173
180
  missing = [c for c in needed if c not in data.columns]
174
181
  if missing:
175
182
  raise ValueError(f"column(s) {missing!r} are not in the data")
@@ -182,9 +189,13 @@ class _Prepared:
182
189
  bad = frame[dv].isna() | frame[factors].isna().any(axis=1)
183
190
  if subject:
184
191
  bad |= frame[subject].isna()
192
+ carried = [c for c in dict.fromkeys(extra) if c not in (dv, subject, *factors)]
193
+ if carried:
194
+ bad |= frame[carried].isna().any(axis=1)
185
195
  if bad.any():
186
196
  self.excluded_detail.append(
187
- {"rows": int(bad.sum()), "reason": f"missing {dv} or a factor/subject value"}
197
+ {"rows": int(bad.sum()), "reason": f"missing {dv} or a factor/subject value"
198
+ + (f" or one of {carried}" if carried else "")}
188
199
  )
189
200
  self.warnings.append(
190
201
  {"code": "rows_dropped_missing", "message": f"{int(bad.sum())} row(s) with a missing value dropped"}
@@ -6,9 +6,13 @@ shape statistic gets it from here. That includes csv-stats' own test results
6
6
  (StatStudio descriptives). So an error bar on a figure and the number in a
7
7
  table cannot disagree.
8
8
 
9
- Light on purpose: this module imports numpy, pandas and scipy only (never
9
+ Light on purpose: importing this module loads numpy and pandas only (never
10
10
  pingouin, statsmodels, matplotlib or reportlab), so a plotting package can
11
- depend on it cheaply. ``tests/test_descriptive.py`` guards that.
11
+ depend on it cheaply. scipy is imported inside the two functions that need
12
+ it (:func:`t_critical`, :func:`summarize`): ``scipy.stats`` alone cost 2 s of
13
+ scistackplot's 4 s first import on Windows (2026-10-20), paid on every Plot
14
+ Studio open even when no figure draws an interval. ``tests/test_descriptive.py``
15
+ guards both.
12
16
 
13
17
  Conventions (each one is a decision, stated once):
14
18
 
@@ -34,7 +38,6 @@ from typing import Any, Literal
34
38
 
35
39
  import numpy as np
36
40
  import pandas as pd
37
- from scipy import stats
38
41
 
39
42
  #: Divisor offset of the sample SD (and variance): ``n - SD_DDOF``.
40
43
  SD_DDOF = 1
@@ -61,6 +64,8 @@ def t_critical(n: Any, level: float = CI_LEVEL) -> Any:
61
64
  NaN where ``n < 2``. Accepts a scalar, numpy array or pandas Series
62
65
  (index kept) and returns the same kind.
63
66
  """
67
+ from scipy import stats # lazy: see the module docstring
68
+
64
69
  counts = np.asarray(n, dtype=float)
65
70
  upper = 1.0 - (1.0 - level) / 2.0
66
71
  with np.errstate(invalid="ignore"):
@@ -126,6 +131,8 @@ def summarize(values: Any, level: float = CI_LEVEL) -> dict[str, float]:
126
131
  ``cv`` (SD / mean) is NaN when the mean is 0. Skewness needs 3 values and
127
132
  kurtosis 4; with fewer they are NaN.
128
133
  """
134
+ from scipy import stats # lazy: see the module docstring
135
+
129
136
  raw = pd.Series(values, dtype=float)
130
137
  clean = raw.dropna()
131
138
  n = int(len(clean))