BioStatistik/Tværsnit.ipynb

170 lines
4.8 KiB
Plaintext

{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "eb67f7a5",
"metadata": {},
"outputs": [],
"source": [
"# Imports\n",
"\n",
"from IPython.display import display, Markdown\n",
"from scipy.stats import chi2_contingency\n",
"from scipy.stats import t as t_test\n",
"import numpy as np\n",
"t_value = t_test.isf\n",
"\n",
"def _display_table(data_array, row_names=None, col_names=None):\n",
" _row_num = len(data_array)\n",
" _col_num = len(data_array[0])\n",
" _rows = []\n",
" for i in range(_row_num):\n",
" row = f'| {row_names[i]} |'\n",
" for j in range(_col_num):\n",
" row += f' {data_array[i][j]:.1f} |'\n",
" row += f' {sum(data_array[i]):.0f} |'\n",
" _rows.append(row)\n",
" _total_row = '| **Total** |'\n",
" _col_tots = 0\n",
" for i in range(_col_num):\n",
" col_tot = 0\n",
" for j in range(_row_num):\n",
" col_tot += data_array[j][i]\n",
" _col_tots += col_tot\n",
" _total_row += f' **{col_tot:.0f}** |'\n",
" _total_row += f' **{_col_tots:.0f}** |'\n",
" display(Markdown(\n",
" rf\"\"\"\n",
"| | {' | '.join(col_names + ['Total'])} |\n",
"{'|-'*(len(row_names) + 2)} |\n",
"{'\\n'.join(_rows)}\n",
"{_total_row}\n",
"\"\"\"\n",
"))\n",
"\n"
]
},
{
"cell_type": "markdown",
"id": "c0bee775",
"metadata": {},
"source": [
"# Tværsnit\n",
"\n",
"Dette er et tværsnitstudie, da:\n",
"\n",
"- det giver et øjebliksbilledet (man ser på nuværende eksponering)\n",
"- eksponering og udfald indhentes samtidig, dvs man kan ikke finde årsagssammenhæng\n",
"- bruges til at beskrive bestanden af en given tilstand/ sygdom til et givent tidspunkt\n",
"\n",
"Fordele og ulemper:\n",
"\n",
"- hurtigt og billigt\n",
"- meget sårbart, da man ikke kender årsagssammenhæng\n",
"- hypotesegenererende\n",
"- deskriptivt (ikke analytisk)"
]
},
{
"cell_type": "markdown",
"id": "5a7b9dca",
"metadata": {},
"source": [
"## Hyppigheds- og associationsmål\n",
"\n",
"Prævalens / Prævalensproportion (PP)\n",
"\n",
"$$\n",
"PP = \\frac{antal\\ syge\\ på\\ et\\ givet\\ tidspunkt}{antal\\ personer\\ i\\ studiepopulationen\\ på\\ samme\\ tidspunkt}\n",
"$$\n",
"\n",
"$$\n",
"PPR = \\frac{PP_{eksponerede}}{PP_{ikke\\ eksponerede}}\n",
"$$"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "bdd4eb49",
"metadata": {},
"outputs": [
{
"data": {
"text/markdown": [
"\n",
"$PP_{eksponerede} = \\frac{33}{101} \\approx 32.67%$\\%\n",
"\n",
"$PP_{ikke\\ eksponerede} = \\frac{19}{90} \\approx 21.11%$\\%\n",
"\n",
"$PPR = \\frac{PP_{eksponerede}}{PP_{ikke\\ eksponerede}} = \\frac{0.3267}{0.2111} \\approx 154.77%$\\%\n",
"\n",
"Prævalensen er 54.77% højere blandt eksponerede i forhold til ikke-eksponerede.\n"
],
"text/plain": [
"<IPython.core.display.Markdown object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"syge_eksponerede = 33\n",
"eksponerede_i_alt = 101\n",
"\n",
"syge_ikke_eksponerede = 19\n",
"ikke_eksponerede_i_alt = 90\n",
"\n",
"\n",
"################################\n",
"pp_eksponerede = syge_eksponerede / eksponerede_i_alt\n",
"pp_ikke_eksponerede = syge_ikke_eksponerede / ikke_eksponerede_i_alt\n",
"ppr = pp_eksponerede / pp_ikke_eksponerede\n",
"\n",
"display(Markdown(\n",
" rf\"\"\"\n",
"$PP_{{eksponerede}} = \\frac{{{syge_eksponerede}}}{{{eksponerede_i_alt}}} \\approx {pp_eksponerede:.2%}$\\%\n",
"\n",
"$PP_{{ikke\\ eksponerede}} = \\frac{{{syge_ikke_eksponerede}}}{{{ikke_eksponerede_i_alt}}} \\approx {pp_ikke_eksponerede:.2%}$\\%\n",
"\n",
"$PPR = \\frac{{PP_{{eksponerede}}}}{{PP_{{ikke\\ eksponerede}}}} = \\frac{{{pp_eksponerede:.4f}}}{{{pp_ikke_eksponerede:.4f}}} \\approx {ppr:.2%}$\\%\n",
"\n",
"Prævalensen er {ppr-1:.2%} højere blandt eksponerede i forhold til ikke-eksponerede.\n",
"\"\"\"\n",
"))"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "5f8b2150",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "base",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.13.9"
}
},
"nbformat": 4,
"nbformat_minor": 5
}