pingouin.rm_anova, Повторное измерение ошибки anova. Питон, Панды

#python #pandas #anova #pingouin

Вопрос:

Я хотел выполнить повторное измерение anova с помощью pingouin rm_anova. Мои данные в длинном формате, с разными временными точками (временем), каждый идентификатор-это субъект, каждый субъект повторяется 3 раза в 3 разных временных точках. DV-это потеря веса, IV-это группа и время. Данные выглядят следующим образом:

     id  group   time    weight_loss
0   1083    NOPE    b   0.000000
1   1146    Placebo b   0.000000
2   1214    Placebo b   0.000000
3   1317    Placebo b   0.000000
4   1318    NOPE    b   0.000000
... ... ... ... ...
155 1805    NOPE    pm  0.042579
156 1813    Placebo pm  -0.084606
157 1819    Placebo pm  -0.073008
158 1831    Placebo pm  -0.018574
159 1837    NOPE    pm  -0.064956
 

Вот мой код:

 import pingouin as pg
res = pg.rm_anova(dv = 'weight_loss', within = ['group', 'time'], data = sub, subject = 'id', detailed = True)
res
 

Но я получил сообщение об ошибке, подобное этому:

 /python3.8/site-packages/numpy/lib/function_base.py:380: RuntimeWarning: Mean of empty slice.
  avg = a.mean(axis)
/python3.8/site-packages/numpy/core/_methods.py:162: RuntimeWarning: invalid value encountered in true_divide
  ret = um.true_divide(
/python3.8/site-packages/pandas/core/frame.py:8276: RuntimeWarning: Degrees of freedom <= 0 for slice
  base_cov = np.cov(mat.T, ddof=ddof)
/python3.8/site-packages/numpy/lib/function_base.py:2480: RuntimeWarning: divide by zero encountered in true_divide
  c *= np.true_divide(1, fact)
/python3.8/site-packages/numpy/lib/function_base.py:2480: RuntimeWarning: invalid value encountered in multiply
  c *= np.true_divide(1, fact)
/python3.8/site-packages/numpy/lib/function_base.py:380: RuntimeWarning: Mean of empty slice.
  avg = a.mean(axis)
/python3.8/site-packages/numpy/core/_methods.py:162: RuntimeWarning: invalid value encountered in true_divide
  ret = um.true_divide(
/python3.8/site-packages/pandas/core/frame.py:8276: RuntimeWarning: Degrees of freedom <= 0 for slice
  base_cov = np.cov(mat.T, ddof=ddof)
/python3.8/site-packages/numpy/lib/function_base.py:2480: RuntimeWarning: divide by zero encountered in true_divide
  c *= np.true_divide(1, fact)
/python3.8/site-packages/numpy/lib/function_base.py:2480: RuntimeWarning: invalid value encountered in multiply
  c *= np.true_divide(1, fact)
 

Я попробовал «внутри» переменной = [«время»], и это работает, но это не работает только для переменной [«группа»] или ее комбинации. Я также проверил NAs, и там нет ни NA, ни 0. Кто-нибудь знает, что случилось и как это исправить?

Заранее благодарю вас!