In [106]:
%run /home/grg/git/alfa/roicollect.py

df = pd.read_excel('/tmp/MMSE_data.xlsx').set_index('ID_Code')

subj = [string.atoi(e) for e in open('/tmp/bsc_subjects.txt').read().split('\n') if e != '']
cov = pd.read_excel('/tmp/covariates.xls')
cov = cov[cov['subject'].isin(subj)].set_index('subject')
cov = cov.join(df)
df = pd.read_excel('/tmp/Cognition_Data_MRI.xlsx').set_index('ID_Code')
cov = cov.join(df)
cov = cov.dropna()

grp = get_groups(cov, ['HO', 'HT', 'NC'], by='apoe')
cov.head()


Out[106]:
age apoe gender education MMSE AGE_MRI AGE_Cognition Education_Years Sex (0 = Female) TIV ... TFR TDFR TDPR WAIS_DSST WAIS_Visual_Puzzle WAIS_Digit_Span_Forward WAIS_Digit_Span_Backward WAIS_Digit_Span_Sequence WAIS_Matrices WAIS_Similarities
subject
10010 52.698152 2 1 18 30.0 52.0 51.0 18.0 1.0 1549.229 ... 16.0 18.0 26.0 69.0 19.0 10.0 7.0 10.0 20.0 27.0
10013 55.414100 2 0 11 30.0 55.0 54.0 11.0 0.0 1508.795 ... 17.0 18.0 26.0 44.0 15.0 14.0 12.0 10.0 14.0 26.0
10015 50.707734 1 0 17 29.0 50.0 50.0 17.0 0.0 1518.794 ... 15.0 14.0 28.0 63.0 11.0 9.0 8.0 7.0 17.0 26.0
10016 48.583162 3 0 17 30.0 48.0 47.0 17.0 0.0 1463.008 ... 27.0 31.0 31.0 95.0 14.0 12.0 10.0 12.0 13.0 27.0
10023 61.065024 2 1 18 27.0 61.0 59.0 18.0 1.0 1652.739 ... 6.0 6.0 10.0 62.0 11.0 11.0 6.0 7.0 10.0 13.0

5 rows × 23 columns


In [112]:
from scipy import stats
st = []
d = grp[2]
for each in d.columns:
    st.append((each, len(d[each]), d[each].mean(), d[each].std()))
st = pd.DataFrame(st, columns=['name', 'N', 'mean', 'std'])
st


Out[112]:
name N mean std
0 age 250 58.444594 7.602628
1 apoe 250 1.184000 0.984898
2 gender 250 0.364000 0.482114
3 education 250 13.628000 3.617452
4 MMSE 250 29.000000 1.122962
5 AGE_MRI 250 57.964000 7.611732
6 AGE_Cognition 250 56.988000 7.663339
7 Education_Years 250 13.628000 3.617452
8 Sex (0 = Female) 250 0.364000 0.482114
9 TIV 250 1481.801488 153.463060
10 N. of APOEe4 250 0.000000 0.000000
11 APOE status 250 28.920000 4.924490
12 TPR 250 23.828000 4.853519
13 TFR 250 16.316000 5.198098
14 TDFR 250 16.488000 5.350549
15 TDPR 250 23.572000 4.922371
16 WAIS_DSST 250 65.648000 15.761147
17 WAIS_Visual_Puzzle 250 13.252000 4.316367
18 WAIS_Digit_Span_Forward 250 8.308000 2.139027
19 WAIS_Digit_Span_Backward 250 7.828000 2.062871
20 WAIS_Digit_Span_Sequence 250 8.284000 2.096886
21 WAIS_Matrices 250 16.264000 4.223940
22 WAIS_Similarities 250 22.368000 4.680192

In [79]:
chi2, p, df, _ = stats.chi2_contingency([[92,94,25], [165,113,43]])
chi2,p


Out[79]:
(4.700681031931448, 0.095336693021630711)

In [76]:
len(d[d['gender']==0]), len(d[d['gender']==1])


Out[76]:
(43, 25)

In [113]:
each = 'TPR'
stats.f_oneway(grp[0][each], grp[1][each], grp[2][each])


Out[113]:
F_onewayResult(statistic=2.3640391165088657, pvalue=0.095063377373759528)

In [105]:
nans = lambda df: df[df.isnull().any(axis=1)]
nans(cov)


Out[105]:
age apoe gender education MMSE AGE_MRI AGE_Cognition Education_Years Sex (0 = Female) TIV ... TFR TDFR TDPR WAIS_DSST WAIS_Visual_Puzzle WAIS_Digit_Span_Forward WAIS_Digit_Span_Backward WAIS_Digit_Span_Sequence WAIS_Matrices WAIS_Similarities
subject
10113 47.772758 0 0 11 NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
10335 61.084189 2 0 10 NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
10472 55.348392 4 0 15 NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
11248 55.014374 1 1 15 NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
11435 65.754962 2 0 15 NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
11487 63.501711 2 1 10 NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
11850 53.242984 3 1 15 29.0 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
12537 60.197125 4 0 8 NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
44062 66.896646 3 0 18 NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
44105 70.346338 2 0 15 NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
55210 64.342231 4 1 17 NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
55539 59.008898 1 0 8 30.0 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
66124 68.167009 2 0 12 NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
66125 52.027379 0 0 18 30.0 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
66257 65.875428 4 0 10 30.0 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
77241 61.013005 1 0 15 30.0 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN

16 rows × 23 columns


In [ ]: