{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Loading required package: daltoolbox\n", "\n", "Registered S3 method overwritten by 'quantmod':\n", " method from\n", " as.zoo.data.frame zoo \n", "\n", "\n", "Attaching package: ‘daltoolbox’\n", "\n", "\n", "The following object is masked from ‘package:base’:\n", "\n", " transform\n", "\n", "\n", "Loading required package: ggplot2\n", "\n", "Loading required package: dplyr\n", "\n", "\n", "Attaching package: ‘dplyr’\n", "\n", "\n", "The following objects are masked from ‘package:stats’:\n", "\n", " filter, lag\n", "\n", "\n", "The following objects are masked from ‘package:base’:\n", "\n", " intersect, setdiff, setequal, union\n", "\n", "\n" ] } ], "source": [ "# DAL ToolBox\n", "# version 1.0.777\n", "\n", "source(\"https://raw.githubusercontent.com/cefet-rj-dal/daltoolbox/main/jupyter.R\")\n", "\n", "#loading DAL\n", "load_library(\"daltoolbox\") \n", "\n", "#for ploting\n", "load_library(\"ggplot2\")\n", "load_library(\"dplyr\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Maximum curvature\n", "If the curve is decreasing, use maximum curvature analysis. \n", "It brings a trade-off between having lower x values (with not so low y values) and having higher x values (not having to much decrease in y values). " ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\n", "
A data.frame: 1 × 3
xyyfit
<int><dbl><dbl>
19-1.6094389.224359e-08
\n" ], "text/latex": [ "A data.frame: 1 × 3\n", "\\begin{tabular}{r|lll}\n", " & x & y & yfit\\\\\n", " & & & \\\\\n", "\\hline\n", "\t1 & 9 & -1.609438 & 9.224359e-08\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A data.frame: 1 × 3\n", "\n", "| | x <int> | y <dbl> | yfit <dbl> |\n", "|---|---|---|---|\n", "| 1 | 9 | -1.609438 | 9.224359e-08 |\n", "\n" ], "text/plain": [ " x y yfit \n", "1 9 -1.609438 9.224359e-08" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x <- seq(from=1,to=10,by=0.5)\n", "dat <- data.frame(x = x, value = -log(x), variable = as.factor(\"log\"))\n", "myfit <- fit_curvature_max()\n", "res <- transform(myfit, dat$value)\n", "head(res)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Warning message:\n", "“\u001b[1m\u001b[22mUsing `size` aesthetic for lines was deprecated in ggplot2 3.4.0.\n", "\u001b[36mℹ\u001b[39m Please use `linewidth` instead.”\n" ] }, { "data": { "image/png": "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\nAGiV+WMKycnJFkvv3r1resRVp9OZYl/v3r2VdzmISNWqVZVJhk0TFN+5c8ein+ITFP+hnpVo\nMmzYsBLT2+jRo3///XdTzyW+eeLevXsREREljq5jx44t97+q3Tp+/PiBAwcsGoODg52dnc3/\nhgCsjTN2AKyiX79+7u7uItK+fXvlFntzPj4+SUlJ06ZNa9GihZubm5eXV8+ePbds2bJjx47J\nkyf36tXL1dXV2dnZYtLgp1GGnkNCQs6ePRsZGRkYGOjm5la1atVOnTp9+eWXa9euVd429hje\n3t4bN2786quvhg0b1qxZM3d398DAwIiIiKNHj65cufKPFl9xLViwoGvXrps3bza1fPfdd6dO\nnXrllVee+DcEUI50RqNR7RoAABVbYmJi586dnZychgwZ4uvrm5qaunnz5po1ax45csTf31/t\n6oBKhGAHACgH586dmzt37rFjx+7du2cwGDp06DB37lwfHx+16wIqF4IdAACARnCPHQAAgEYQ\n7AAAADSCYAcAAKARBDsAAACNINgBAABoBMEOAABAIwh2AAAAGkGwAwAA0AiCHQAAgEYQ7AAA\nADSCYAcAAKARBDsAAACNINgBAABoBMEOAABAIwh2AAAAGkGwAwAA0AiCHQAAgEYQ7AAAADTi\n/wDCLmA6NNX1WQAAAABJRU5ErkJggg==", "text/plain": [ "plot without title" ] }, "metadata": { "image/png": { "height": 420, "width": 420 } }, "output_type": "display_data" } ], "source": [ "grf <- plot_scatter(dat, label_x = \"dimensions\", label_y = \"cumulative variance\", colors=\"black\") + \n", " theme(text = element_text(size=16))\n", "plot(grf + geom_vline(xintercept = dat$x[res$x], linetype=\"dashed\", color = \"red\", size=0.5))" ] }, { "cell_type": "code", "execution_count": null, "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.3.3" } }, "nbformat": 4, "nbformat_minor": 4 }