From 1294ee40a07fb3669ce65e8345d0e95ab73507a0 Mon Sep 17 00:00:00 2001 From: junos Date: Tue, 8 Jun 2021 17:16:08 +0200 Subject: [PATCH] Add ANOVA for adherence and gender + country. --- statistical_analysis/concordance.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/statistical_analysis/concordance.py b/statistical_analysis/concordance.py index 5d19faa..45d2b9c 100644 --- a/statistical_analysis/concordance.py +++ b/statistical_analysis/concordance.py @@ -58,3 +58,30 @@ print("-------------------------------------") print(tbl_session_outcomes/len(df_session_counts)) # %% +VARIABLES_TO_TRANSLATE = { + "Gebruikersnaam": "username", + "Geslacht": "gender", + "Geboortedatum": "date_of_birth" +} +baseline_inactive.rename(columns=VARIABLES_TO_TRANSLATE, copy=False, inplace=True) +now = pd.Timestamp('now') +baseline_inactive = baseline_inactive.assign(date_of_birth = lambda x: pd.to_datetime(x.date_of_birth), + age = lambda x: now - x.date_of_birth) + +# %% +df_session_counts + +# %% +df_adherence = baseline_inactive[["username", "gender", "age", "startlanguage"]].merge(df_esm_preprocessed[["username", "participant_id"]].drop_duplicates(), how="left", on="username") + +# %% +df_esm_preprocessed_adherence = df_esm_preprocessed.merge(df_session_counts.reset_index(), how="left", on=["participant_id", "device_id", "esm_session"]) +#df_esm_finished = df_esm_preprocessed_adherence[df_esm_preprocessed_adherence["session_response"]=="esm_finished"] + +# %% +df_adherence = df_adherence.merge(df_esm_preprocessed_adherence[df_esm_preprocessed_adherence["session_response"] == "esm_finished"].groupby("participant_id").count()["session_response"], how="left", on="participant_id") + +# %% +lm_adherence = ols('session_response ~ C(gender, Sum) + C(startlanguage, Sum)', data=df_adherence).fit() +table = sm.stats.anova_lm(lm_adherence, typ=2) # Type 2 ANOVA DataFrame +print(table)