{
"cells": [
{
"cell_type": "markdown",
"id": "7ccf6e03-085d-436f-8b1b-92a07429d321",
"metadata": {},
"source": [
"# Results"
]
},
{
"cell_type": "markdown",
"id": "43bf70fc-26cc-4f52-b1a5-2e76d01b833d",
"metadata": {},
"source": [
"## Data Loading"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "1eadee30-8dec-46ac-91fa-acad5251d88d",
"metadata": {
"tags": [
"hide-input"
]
},
"outputs": [],
"source": [
"suppressWarnings(suppressMessages(library(\"tidyverse\")))\n",
"suppressWarnings(suppressMessages(library(\"ggpubr\")))\n",
"suppressWarnings(suppressMessages(library(\"rstatix\")))\n",
"\n",
"library(tidyverse)\n",
"library(ggpubr)\n",
"library(rstatix)\n",
"\n",
"\n",
"map_abb <- list(\"df_gm\"= \"DF+ǴM\", \"gm\"= \"GM\")\n",
"\n",
"all_results <- c()\n",
"\n",
"df_eval <- list(\"crossval\"= data.frame(), \"test\"= data.frame())\n",
"\n",
"\n",
"for (evaluation in names(df_eval)){\n",
" for (mod in names(map_abb)){\n",
"\n",
" filename <- sprintf(\"%s_%s.csv\", mod, evaluation)\n",
" path_col <- file.path(getwd(), \"..\", \"..\", \"..\", \"resources\", filename)\n",
" \n",
" df_mod <- read.csv(path_col)\n",
" df_mod$fusion <- map_abb[[mod]]\n",
"\n",
" df_eval[[evaluation]] <- rbind(df_eval[[evaluation]], df_mod)\n",
" }\n",
"}\n",
"df_val <- df_eval[[\"crossval\"]]\n",
"df_test <- df_eval[[\"test\"]]"
]
},
{
"cell_type": "markdown",
"id": "c48bb4ec-0809-4946-9581-c69d5baf340a",
"metadata": {},
"source": [
"#### Validation data"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "d7b0dc7c-cb46-4bd3-ad83-4b7ac2f37e0b",
"metadata": {
"tags": [
"hide-input"
]
},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"A data.frame: 6 × 4\n",
"\n",
"\t | fold | r2 | MAE | fusion |
\n",
"\t | <int> | <dbl> | <dbl> | <chr> |
\n",
"\n",
"\n",
"\t1 | 0 | 0.8026467 | 5.740682 | DF+ǴM |
\n",
"\t2 | 1 | 0.7473344 | 6.313860 | DF+ǴM |
\n",
"\t3 | 2 | 0.7362875 | 5.625505 | DF+ǴM |
\n",
"\t4 | 3 | 0.7456859 | 5.830985 | DF+ǴM |
\n",
"\t5 | 4 | 0.7941903 | 5.643035 | DF+ǴM |
\n",
"\t6 | 5 | 0.7565052 | 5.573205 | DF+ǴM |
\n",
"\n",
"
\n"
],
"text/latex": [
"A data.frame: 6 × 4\n",
"\\begin{tabular}{r|llll}\n",
" & fold & r2 & MAE & fusion\\\\\n",
" & & & & \\\\\n",
"\\hline\n",
"\t1 & 0 & 0.8026467 & 5.740682 & DF+ǴM\\\\\n",
"\t2 & 1 & 0.7473344 & 6.313860 & DF+ǴM\\\\\n",
"\t3 & 2 & 0.7362875 & 5.625505 & DF+ǴM\\\\\n",
"\t4 & 3 & 0.7456859 & 5.830985 & DF+ǴM\\\\\n",
"\t5 & 4 & 0.7941903 & 5.643035 & DF+ǴM\\\\\n",
"\t6 & 5 & 0.7565052 & 5.573205 & DF+ǴM\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"A data.frame: 6 × 4\n",
"\n",
"| | fold <int> | r2 <dbl> | MAE <dbl> | fusion <chr> |\n",
"|---|---|---|---|---|\n",
"| 1 | 0 | 0.8026467 | 5.740682 | DF+ǴM |\n",
"| 2 | 1 | 0.7473344 | 6.313860 | DF+ǴM |\n",
"| 3 | 2 | 0.7362875 | 5.625505 | DF+ǴM |\n",
"| 4 | 3 | 0.7456859 | 5.830985 | DF+ǴM |\n",
"| 5 | 4 | 0.7941903 | 5.643035 | DF+ǴM |\n",
"| 6 | 5 | 0.7565052 | 5.573205 | DF+ǴM |\n",
"\n"
],
"text/plain": [
" fold r2 MAE fusion\n",
"1 0 0.8026467 5.740682 DF+ǴM \n",
"2 1 0.7473344 6.313860 DF+ǴM \n",
"3 2 0.7362875 5.625505 DF+ǴM \n",
"4 3 0.7456859 5.830985 DF+ǴM \n",
"5 4 0.7941903 5.643035 DF+ǴM \n",
"6 5 0.7565052 5.573205 DF+ǴM "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"head(df_val)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "30b1bb20-a650-4f03-84cc-9d609593317a",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"A data.frame: 2 × 3\n",
"\n",
"\tGroup.1 | r2 | MAE |
\n",
"\t<chr> | <dbl> | <dbl> |
\n",
"\n",
"\n",
"\tDF+ǴM | 0.7884606 | 5.548079 |
\n",
"\tGM | 0.7508428 | 6.140916 |
\n",
"\n",
"
\n"
],
"text/latex": [
"A data.frame: 2 × 3\n",
"\\begin{tabular}{lll}\n",
" Group.1 & r2 & MAE\\\\\n",
" & & \\\\\n",
"\\hline\n",
"\t DF+ǴM & 0.7884606 & 5.548079\\\\\n",
"\t GM & 0.7508428 & 6.140916\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"A data.frame: 2 × 3\n",
"\n",
"| Group.1 <chr> | r2 <dbl> | MAE <dbl> |\n",
"|---|---|---|\n",
"| DF+ǴM | 0.7884606 | 5.548079 |\n",
"| GM | 0.7508428 | 6.140916 |\n",
"\n"
],
"text/plain": [
" Group.1 r2 MAE \n",
"1 DF+ǴM 0.7884606 5.548079\n",
"2 GM 0.7508428 6.140916"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"aggregate(df_val[,c(\"r2\", \"MAE\")], list(df_val$fusion), mean)"
]
},
{
"cell_type": "markdown",
"id": "9e084fef-9dbf-4dc3-b21b-cc34c7accf82",
"metadata": {},
"source": [
"#### Test data"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "66f929bf-69a9-4155-9b6b-1cf42a19ffee",
"metadata": {
"tags": [
"hide-input"
]
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"A data.frame: 6 × 5\n",
"\n",
"\t | subjectID | gender | age | y_hat | fusion |
\n",
"\t | <chr> | <int> | <dbl> | <dbl> | <chr> |
\n",
"\n",
"\n",
"\t1 | sub-474 | 1 | 34.01 | 40.33901 | DF+ǴM |
\n",
"\t2 | sub-292 | 1 | 23.73 | 31.65292 | DF+ǴM |
\n",
"\t3 | sub-382 | 1 | 65.91 | 46.45294 | DF+ǴM |
\n",
"\t4 | sub-434 | 1 | 67.24 | 56.62014 | DF+ǴM |
\n",
"\t5 | sub-395 | 0 | 45.03 | 35.61988 | DF+ǴM |
\n",
"\t6 | sub-306 | 1 | 30.18 | 39.87024 | DF+ǴM |
\n",
"\n",
"
\n"
],
"text/latex": [
"A data.frame: 6 × 5\n",
"\\begin{tabular}{r|lllll}\n",
" & subjectID & gender & age & y\\_hat & fusion\\\\\n",
" & & & & & \\\\\n",
"\\hline\n",
"\t1 & sub-474 & 1 & 34.01 & 40.33901 & DF+ǴM\\\\\n",
"\t2 & sub-292 & 1 & 23.73 & 31.65292 & DF+ǴM\\\\\n",
"\t3 & sub-382 & 1 & 65.91 & 46.45294 & DF+ǴM\\\\\n",
"\t4 & sub-434 & 1 & 67.24 & 56.62014 & DF+ǴM\\\\\n",
"\t5 & sub-395 & 0 & 45.03 & 35.61988 & DF+ǴM\\\\\n",
"\t6 & sub-306 & 1 & 30.18 & 39.87024 & DF+ǴM\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"A data.frame: 6 × 5\n",
"\n",
"| | subjectID <chr> | gender <int> | age <dbl> | y_hat <dbl> | fusion <chr> |\n",
"|---|---|---|---|---|---|\n",
"| 1 | sub-474 | 1 | 34.01 | 40.33901 | DF+ǴM |\n",
"| 2 | sub-292 | 1 | 23.73 | 31.65292 | DF+ǴM |\n",
"| 3 | sub-382 | 1 | 65.91 | 46.45294 | DF+ǴM |\n",
"| 4 | sub-434 | 1 | 67.24 | 56.62014 | DF+ǴM |\n",
"| 5 | sub-395 | 0 | 45.03 | 35.61988 | DF+ǴM |\n",
"| 6 | sub-306 | 1 | 30.18 | 39.87024 | DF+ǴM |\n",
"\n"
],
"text/plain": [
" subjectID gender age y_hat fusion\n",
"1 sub-474 1 34.01 40.33901 DF+ǴM \n",
"2 sub-292 1 23.73 31.65292 DF+ǴM \n",
"3 sub-382 1 65.91 46.45294 DF+ǴM \n",
"4 sub-434 1 67.24 56.62014 DF+ǴM \n",
"5 sub-395 0 45.03 35.61988 DF+ǴM \n",
"6 sub-306 1 30.18 39.87024 DF+ǴM "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"head(df_test)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "f50061de-2a64-4060-b0fc-fe72b2d04ebb",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"A data.frame: 2 × 4\n",
"\n",
"\tGroup.1 | age | y_hat | abs_diff |
\n",
"\t<chr> | <dbl> | <dbl> | <dbl> |
\n",
"\n",
"\n",
"\tDF+ǴM | 42.37309 | 45.59776 | 6.896464 |
\n",
"\tGM | 42.37309 | 45.49686 | 7.956941 |
\n",
"\n",
"
\n"
],
"text/latex": [
"A data.frame: 2 × 4\n",
"\\begin{tabular}{llll}\n",
" Group.1 & age & y\\_hat & abs\\_diff\\\\\n",
" & & & \\\\\n",
"\\hline\n",
"\t DF+ǴM & 42.37309 & 45.59776 & 6.896464\\\\\n",
"\t GM & 42.37309 & 45.49686 & 7.956941\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"A data.frame: 2 × 4\n",
"\n",
"| Group.1 <chr> | age <dbl> | y_hat <dbl> | abs_diff <dbl> |\n",
"|---|---|---|---|\n",
"| DF+ǴM | 42.37309 | 45.59776 | 6.896464 |\n",
"| GM | 42.37309 | 45.49686 | 7.956941 |\n",
"\n"
],
"text/plain": [
" Group.1 age y_hat abs_diff\n",
"1 DF+ǴM 42.37309 45.59776 6.896464\n",
"2 GM 42.37309 45.49686 7.956941"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df_test[\"abs_diff\"] <- abs(df_test$y_hat - df_test$age)\n",
"\n",
"result_mean <- aggregate(df_test[,c(\"age\", \"y_hat\", \"abs_diff\")], list(df_test$fusion), mean)\n",
"result_mean"
]
},
{
"cell_type": "markdown",
"id": "07473604-b20d-49b9-b387-d10e3ad64c5b",
"metadata": {},
"source": [
"## Statistics"
]
},
{
"cell_type": "markdown",
"id": "fc35781e-4e99-4c27-b63c-997cdb95ca03",
"metadata": {},
"source": [
"### Paired t-test"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "864c14fb-2819-4046-a72c-c91ced0b96ef",
"metadata": {
"tags": [
"hide-input"
]
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"A rstatix_test: 1 × 10\n",
"\n",
"\t | .y. | group1 | group2 | n1 | n2 | statistic | df | p | p.adj | p.adj.signif |
\n",
"\t | <chr> | <chr> | <chr> | <int> | <int> | <dbl> | <dbl> | <dbl> | <dbl> | <chr> |
\n",
"\n",
"\n",
"\t1 | MAE | DF+ǴM | GM | 30 | 30 | -1.828452 | 29 | 0.039 | 0.039 | * |
\n",
"\n",
"
\n"
],
"text/latex": [
"A rstatix\\_test: 1 × 10\n",
"\\begin{tabular}{r|llllllllll}\n",
" & .y. & group1 & group2 & n1 & n2 & statistic & df & p & p.adj & p.adj.signif\\\\\n",
" & & & & & & & & & & \\\\\n",
"\\hline\n",
"\t1 & MAE & DF+ǴM & GM & 30 & 30 & -1.828452 & 29 & 0.039 & 0.039 & *\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"A rstatix_test: 1 × 10\n",
"\n",
"| | .y. <chr> | group1 <chr> | group2 <chr> | n1 <int> | n2 <int> | statistic <dbl> | df <dbl> | p <dbl> | p.adj <dbl> | p.adj.signif <chr> |\n",
"|---|---|---|---|---|---|---|---|---|---|---|\n",
"| 1 | MAE | DF+ǴM | GM | 30 | 30 | -1.828452 | 29 | 0.039 | 0.039 | * |\n",
"\n"
],
"text/plain": [
" .y. group1 group2 n1 n2 statistic df p p.adj p.adj.signif\n",
"1 MAE DF+ǴM GM 30 30 -1.828452 29 0.039 0.039 * "
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"Warning message in if (fill %in% names(data) & is.null(add.params$fill)) add.params$fill <- fill:\n",
"“the condition has length > 1 and only the first element will be used”\n"
]
},
{
"data": {
"image/png": "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\n39zcfMqUKbIVbGxsmN7i8vLyQ4cOabRNpQ+Wim8u5dy7d485yhEREUSUk5OzdOnSdu3a1axZ\n08zMzNXVdeLEienp6Wp5LlUo/apq4twAUAOuM0sOqNhjx17RkCLZmkAgiIiIYH4FyrKxsZHb\nK5Oenl75PW3Tp0+vVhjVlZmZWdFTSw1KYAdG7Nu3T7YdgUCQmpr66NGjip6Ivfdx2bJlbOGu\nXbuYwrCwsIoeyNz5R0QLFy6U3cv2X/br10+R/1cscTIoqFWrVgq2XCWmo46leo+dlZUV00Jx\ncbHcCux3z08//VStlkNDQ5kH7t27V7nYpPz8889Mgxs2bNi3b5+1tbXsS+3u7p6enl6tZjVx\nNNl7WLt161ZRnStXrjB1evXqpUicmmiTJfdgqf7mUsK+ffuYBqOiom7fvs30XUlxcnKq1oAn\nrt6wcl9VjR5HAKWhx67apk2b9vz581mzZjF/zpo16/nz58+fP5f8xBk6dChzFbJOnTpLliy5\nfPlyfHz84cOHR48ezefzP378+OWXXx4/flyq5S+//PLu3btE1LZt2zVr1pw6dercuXN79+6N\niIhgvrNXrlzJfvgqEkZ12dnZPX/+fMeOHcyf/fv3Z9pMSkqqX78+W62srCwmJoaIzM3NP//8\nc9l2TExM6tev36xZs4qeiJ3uhL3AQUQfP35kNiTHYUhh6z969Eh2b6dOnZycnIgoNjZWR/p7\nKqGujjpWx44dmY24uDi5FZizixQeHsT48OEDMw7GxMSkW7duKoX4t6dPnzIbd+7cGTp0qLW1\n9ezZs3fv3r1v377Zs2ebmZkRUVJS0tixY9XydKp4+PAhs9GuXbuK6vj4+DC/4phxMJy0yajo\nYKn+5lLC48ePmQ2RSNSrV6/8/PypU6dGR0fv27dv+vTp5ubmRJSZmVnRb1TdUdGrqrnjCKAK\nfR4VqyEODg4ODg41a9Zk/qxZs6a7u7tkhT179jBTkbVu3To2Npat2aZNmwEDBvzf//3fwIED\nhULh2LFjk5OTLSwsmL33799nLm62bt362rVrzHcbIzQ0dMqUKf7+/nl5eT/++OOUKVN4PF6V\nYSjBzMzM3d2dnQ2uU6dOctu8efMmc1mnc+fObC+R4t6/f8+MSq5RowZ7TZaI2Kby8vIqeiwz\npIOImKu9UoyMjAIDA3ft2iUQCC5evBgUFFRlMH5+fuvXr1c8eF0e2jZjxowzZ84Q0ezZs8+d\n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\nq1atwYMHCyHu3r1r6JEWxz1egwcPdnd3z8zM3LBhw9SpU0u+ZNgWq3v37l5eXo/90IBicJ5C\nkQh2UBQnJyepkZeXV/bVS5cuVeWf7+Dg4C1btgghjh07FhYWVu6Y3Nzcsi+1bNlSCnY5OTlS\nj6OjY0VH+f777/v27VvRq0uXLn3nnXcqetXOzi44OHjlypXnz5+Pj4/v0KGD4aWDBw/+8ccf\nQoiRI0dW9HYAgvMUCsWtWCiK4eGMzs7OMpZh+D2RnZ39hA7x5ptvSo1SU7Ol+zsuLi7SojwA\nFeE8hSJxxQ6KcuXKFalRv379sq+6ubkFBwc/9EP+9a9/SY2RI0eW/f/pTz/9dObMmbVq1ark\nbm+dOnWkRkZGxoMHD6TNk0tp0KBB2ccNnT9/Pi4u7qEVCiFat27dqlWrhISEbdu2RUREODg4\nCCHu37+/Z88eIcRrr71WyUUIAILzFApFsINy3LlzJyUlRWobVlGU5OnpuXLlShNU0qhRI2tr\n66KiIq1We/LkyU6dOpUd06xZs7Kz9CIiIqr4C0MIMWrUqIkTJ2ZnZ+/YseONN94QQmzbtk3a\nDauKj8QFLBnnKRSJW7FQjp07d+r1eiGEr6/vs88+K2Ml9vb20r7zQghpZ/knITg42M7OTpS4\nyyPd32nUqFHnzp2f0EEBxeA8hSIR7KAQ+fn5hkcDDRs2TN5ihBCvvfaa1Fi7dm1WVtaTOIS7\nu3tAQIAQ4ujRo+np6ZcvX46PjxdcBgCqjPMUykOwg0LMmDEjNTVVCOHk5DR+/Hi5yxEjR46s\nVauWEOL+/ftjx46t4rsqeaxkuaTZP3q9/ttvv925c6cQQq1WS7d7ADwU5ymUh2CHak+v18+e\nPdsweW7OnDmGOdEycnZ2Xrx4sdTevn3722+//dCd5Xft2jV37txHOkrPnj2lm87fffed9HCk\n3r1716tXz6iSAYvDeQrlIdihektISOjTp8/cuXOl2XWDBw8utRGojEJDQ0ePHi21V6xY0aVL\nlx9++EGqsySNRrNv377u3bsPGTJE2nahXbt2gYGBVTmEWq2Wtq0/fPgw93cAI3CeQmFYFYtq\nICMjY86cOSV7NBpNWlpafHz8xYsXDZ3Dhg3bsGHDk9hBvqQZM2bMmDGjioPXrFnj6Oi4fPly\nIURcXFyvXr08PDz8/f3r1Kljb29/9+7d33//PS4uTloiJ4RQqVQjRoxYvXq1tC1CVYSGhs6b\n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\nVFDiuwAAAABJRU5ErkJggg==",
"text/plain": [
"plot without title"
]
},
"metadata": {
"image/png": {
"height": 300,
"width": 420
}
},
"output_type": "display_data"
}
],
"source": [
"\n",
"colors <- c(\"#AB1111\", \"#FFC107\")\n",
"\n",
"pwc <- df_val %>%\n",
" pairwise_t_test(\n",
" MAE ~ fusion, paired = TRUE, alternative=\"less\"\n",
" )\n",
"pwc\n",
"\n",
"options(repr.plot.width = 7, repr.plot.height = 5)\n",
"\n",
"bxp <- ggboxplot(df_val, x = \"fusion\", y = \"MAE\", add = \"point\", fill = colors,\n",
" xlab = \"Fusion\", ylab = \"MAE\") + theme(text = element_text(size=20))\n",
"\n",
"\n",
"pwc <- pwc %>% add_xy_position(x = \"fusion\")\n",
"bxp <- bxp + \n",
" stat_pvalue_manual(pwc, label = \"p = {p.adj}\") +\n",
" labs(\n",
" subtitle = get_test_label(pwc, detailed = TRUE),\n",
" ) + geom_point(data = data.frame(x = factor(result_mean[[\"Group.1\"]]), y = result_mean[[\"abs_diff\"]]),\n",
" aes(x=x, y=y),\n",
" color = 'red', shape=8, size=5)\n",
"\n",
"bxp "
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "eae726e7-0abd-4592-af61-c5866bc87fa7",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "R",
"language": "R",
"name": "ir"
},
"language_info": {
"codemirror_mode": "r",
"file_extension": ".r",
"mimetype": "text/x-r-source",
"name": "R",
"pygments_lexer": "r",
"version": "4.1.2"
}
},
"nbformat": 4,
"nbformat_minor": 5
}