{"id":3925,"date":"2024-12-11T22:32:12","date_gmt":"2024-12-11T13:32:12","guid":{"rendered":"https:\/\/secondlife.lol\/?p=3925"},"modified":"2024-12-23T07:58:34","modified_gmt":"2024-12-22T22:58:34","slug":"won-dollar-exchange-rate-graph-10-years","status":"publish","type":"post","link":"https:\/\/secondlife.lol\/ja\/won-dollar-exchange-rate-graph-10-years\/","title":{"rendered":"\u30a6\u30a9\u30f3\u30c9\u30eb\u70ba\u66ff\u30ec\u30fc\u30c8\u30b0\u30e9\u30d510\u5e74\u5206\u3067\u898b\u308b\u7d4c\u6e08\u306e\u6d41\u308c: R\u3067\u7c21\u5358\u306b\u5206\u6790\u3059\u308b"},"content":{"rendered":"\n<p>\uc548\ub155\ud558\uc138\uc694, \uc5ec\ub7ec\ubd84! \uc624\ub298\uc740 \uc6b0\ub9ac \uc77c\uc0c1\uc5d0 \ud070 \uc601\ud5a5\uc744 \ubbf8\uce58\ub294 &#8216;\uc6d0\ub2ec\ub7ec \ud658\uc728&#8217;\uc5d0 \ub300\ud574 \uc774\uc57c\uae30\ud574\ubcfc\uae4c \ud574\uc694. \ud2b9\ud788 \ucd5c\uadfc \uc6d0\ub2ec\ub7ec \ud658\uc728 \uadf8\ub798\ud504 10\ub144\uce58\ub97c \uc0b4\ud3b4\ubcf4\uba74\uc11c, \uc6b0\ub9ac \uacbd\uc81c\uac00 \uc5b4\ub5a4 \ud750\ub984\uc744 \ud0c0\uace0 \uc654\ub294\uc9c0 \ud568\uaed8 \uc54c\uc544\ubcf4\uaca0\uc2b5\ub2c8\ub2e4. <\/p>\n\n\n<style>.kb-image3925_974fb2-35 .kb-image-has-overlay:after{opacity:0.3;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;}.kb-image3925_974fb2-35 img.kb-img, .kb-image3925_974fb2-35 .kb-img img{border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;box-shadow:0px 0px 14px 0px rgba(0, 0, 0, 0.2);}<\/style>\n<div class=\"wp-block-kadence-image kb-image3925_974fb2-35\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"1049\" height=\"531\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/12\/\uc6d0\ub2ec\ub7ec-\ud658\uc728-\uadf8\ub798\ud504-10\ub144-.jpg\" alt=\"\uc6d0\ub2ec\ub7ec \ud658\uc728 \uadf8\ub798\ud504 10\ub144 \" class=\"kb-img wp-image-3932\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/12\/\uc6d0\ub2ec\ub7ec-\ud658\uc728-\uadf8\ub798\ud504-10\ub144-.jpg 1049w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/12\/\uc6d0\ub2ec\ub7ec-\ud658\uc728-\uadf8\ub798\ud504-10\ub144--300x152.jpg 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/12\/\uc6d0\ub2ec\ub7ec-\ud658\uc728-\uadf8\ub798\ud504-10\ub144--600x304.jpg 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/12\/\uc6d0\ub2ec\ub7ec-\ud658\uc728-\uadf8\ub798\ud504-10\ub144--768x389.jpg 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/12\/\uc6d0\ub2ec\ub7ec-\ud658\uc728-\uadf8\ub798\ud504-10\ub144--18x9.jpg 18w\" sizes=\"(max-width: 1049px) 100vw, 1049px\" \/><figcaption>( R\ub85c \uadf8\ub824\ubcf8 \uc6d0\ub2ec\ub7ec \ud658\uc728 \uadf8\ub798\ud504 10\ub144\uce58 )<\/figcaption><\/figure><\/div>\n\n\n\n<p>\uc774 \ud3ec\uc2a4\ud2b8\uc5d0\uc11c\ub294 <a href=\"https:\/\/secondlife.lol\/r-rstudio-install\/\" data-type=\"post\" data-id=\"454\">R\uc774\ub77c\ub294 \ud504\ub85c\uadf8\ub798\ubc0d \uc5b8\uc5b4<\/a>\ub97c \uc0ac\uc6a9\ud574 \ub370\uc774\ud130\ub97c \uc2dc\uac01\ud654\ud558\ub294 \ubc29\ubc95\ub3c4 \uc18c\uac1c\ud560 \uc608\uc815\uc774\ub2c8, \ub370\uc774\ud130 \ubd84\uc11d\uc5d0 \uad00\uc2ec \uc788\uc73c\uc2e0 \ubd84\ub4e4\uaed8 \ud2b9\ud788 \uc720\uc6a9\ud560 \uac70\uc608\uc694!<\/p>\n\n\n<style>.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap{padding-top:var(--global-kb-spacing-sm, 1.5rem);padding-right:var(--global-kb-spacing-sm, 1.5rem);padding-bottom:var(--global-kb-spacing-sm, 1.5rem);padding-left:var(--global-kb-spacing-sm, 1.5rem);border-top:3px solid var(--global-palette2, #2B6CB0);border-right:3px solid var(--global-palette2, #2B6CB0);border-bottom:3px solid var(--global-palette2, #2B6CB0);border-left:3px solid var(--global-palette2, #2B6CB0);border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;box-shadow:0px 0px 14px 0px rgba(0, 0, 0, 0.2);}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title-wrap{padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title-wrap{color:var(--global-palette2, #2B6CB0);}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title{color:var(--global-palette2, #2B6CB0);font-size:28px;font-weight:regular;font-style:normal;}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap .kb-table-of-content-list{color:var(--global-palette1, #3182CE);line-height:2em;font-weight:regular;font-style:normal;margin-top:var(--global-kb-spacing-sm, 1.5rem);margin-right:0px;margin-bottom:0px;margin-left:0px;}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap .kb-table-of-content-list .kb-table-of-contents__entry:hover{color:var(--global-palette6, #718096);}@media all and (max-width: 1024px){.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap{border-top:3px solid var(--global-palette2, #2B6CB0);border-right:3px solid var(--global-palette2, #2B6CB0);border-bottom:3px solid var(--global-palette2, #2B6CB0);border-left:3px solid var(--global-palette2, #2B6CB0);}}@media all and (max-width: 1024px){.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title{font-size:28px;}}@media all and (max-width: 767px){.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap{border-top:3px solid var(--global-palette2, #2B6CB0);border-right:3px solid var(--global-palette2, #2B6CB0);border-bottom:3px solid var(--global-palette2, #2B6CB0);border-left:3px solid var(--global-palette2, #2B6CB0);}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title{font-size:28px;}}<\/style>\n\n\n<h2 class=\"wp-block-heading\">\uc6d0\ub2ec\ub7ec \ud658\uc728, \uc65c \uc911\uc694\ud560\uae4c\uc694?<\/h2>\n\n\n\n<p>\uc6d0\ub2ec\ub7ec \ud658\uc728\uc740 \uc6b0\ub9ac \uacbd\uc81c\uc758 \uac74\uac15 \uc0c1\ud0dc\ub97c \ubcf4\uc5ec\uc8fc\ub294 \uc911\uc694\ud55c \uc9c0\ud45c \uc911 \ud558\ub098\uc785\ub2c8\ub2e4. \ud658\uc728\uc774 \uc624\ub974\uba74 \uc218\ucd9c \uae30\uc5c5\ub4e4\uc740 \uc88b\uc544\ud558\uc9c0\ub9cc, \ud574\uc678\uc5ec\ud589\uc774\ub098 \uc9c1\uad6c\ub97c \uc990\uae30\ub294 \ubd84\ub4e4\uc740 \uc544\uc26c\uc6cc\ud558\uc8e0. \ubc18\ub300\ub85c \ud658\uc728\uc774 \ub0b4\ub9ac\uba74 \uc218\uc785\ud488 \uac00\uaca9\uc774 \ub0b4\ub824\uac00 \uc18c\ube44\uc790\ub4e4\uc740 \uc88b\uc544\ud558\uc9c0\ub9cc, \uc218\ucd9c \uae30\uc5c5\ub4e4\uc740 \uac71\uc815\uc774 \ub298\uc5b4\ub0a9\ub2c8\ub2e4. \uc774\ub807\uac8c \uc6d0\ub2ec\ub7ec \ud658\uc728\uc740 \uc6b0\ub9ac \uc0dd\ud65c \uacf3\uacf3\uc5d0 \uc601\ud5a5\uc744 \ubbf8\uce58\uace0 \uc788\uc5b4\uc694.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">R\ub85c \uc6d0\ub2ec\ub7ec \ud658\uc728 \uadf8\ub798\ud504 10\ub144\uce58 \uadf8\ub9ac\uae30<\/h2>\n\n\n\n<p>\uc790, \uc774\uc81c R\uc744 \uc0ac\uc6a9\ud574 \ucd5c\uadfc 10\ub144\uac04\uc758 \uc6d0\ub2ec\ub7ec \ud658\uc728 \uadf8\ub798\ud504\ub97c \uadf8\ub824\ubcfc\uae4c\uc694? \uc544\ub798 \ucf54\ub4dc\ub97c \ub530\ub77c\ud574\ubcf4\uc138\uc694.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># \ud328\ud0a4\uc9c0 \uc124\uce58 \ubc0f \ub85c\ub4dc\nif (!require(\"quantmod\")) install.packages(\"quantmod\")\nif (!require(\"ggplot2\")) install.packages(\"ggplot2\")\nif (!require(\"dplyr\")) install.packages(\"dplyr\")\nif (!require(\"zoo\")) install.packages(\"zoo\")\nlibrary(quantmod)\nlibrary(ggplot2)\nlibrary(dplyr)\nlibrary(zoo)\n\n# Yahoo Finance\uc5d0\uc11c \ub370\uc774\ud130 \ub2e4\uc6b4\ub85c\ub4dc\ncurrency_pair &lt;- \"USDKRW=X\"\nstart_date &lt;- Sys.Date() - 365*10  # \ucd5c\uadfc 10\ub144\nend_date &lt;- Sys.Date()\n\n# \ud658\uc728 \ub370\uc774\ud130 \uac00\uc838\uc624\uae30\ngetSymbols(currency_pair, src = \"yahoo\", from = start_date, to = end_date, auto.assign = TRUE)\ndata &lt;- get(currency_pair)\n\n# \uacb0\uce21\uac12 \ucc98\ub9ac\ndata &lt;- na.omit(data)\n\n# \ub370\uc774\ud130\ud504\ub808\uc784\uc73c\ub85c \ubcc0\ud658\ndata &lt;- data.frame(Date = index(data), coredata(data))\ncolnames(data) &lt;- c(\"Date\", \"Open\", \"High\", \"Low\", \"Close\", \"Volume\", \"Adjusted\")\n\n# 50\uc77c \uc774\ub3d9 \ud3c9\uade0\uc120 \uacc4\uc0b0\ndata &lt;- data %&gt;%\n    mutate(MA50 = rollmean(Close, k = 50, fill = NA))\n\n# \uc8fc\uc694 \uacbd\uc81c \uc774\ubca4\ud2b8 \uc815\uc758\nevents &lt;- data.frame(\n    Date = as.Date(c(\"2020-03-01\", \"2022-02-24\", \"2024-12-07\")),\n    Label = c(\"COVID-19 Pandemic\", \"Russia-Ukraine War\", \"Martial Law Declaration\")\n)\n\n# \ucd5c\ub300 \ubc0f \ucd5c\uc18c \ud658\uc728 \uacc4\uc0b0\nmax_rate &lt;- max(data$Close, na.rm = TRUE)\nmin_rate &lt;- min(data$Close, na.rm = TRUE)\nmax_date &lt;- data$Date&#91;which.max(data$Close)]\nmin_date &lt;- data$Date&#91;which.min(data$Close)]\n\n# 10\ub144\uac04 \ud3c9\uade0 \ud658\uc728 \uacc4\uc0b0\nmean_rate &lt;- mean(data$Close, na.rm = TRUE)\n\n# \ucd5c\ub300 \ucd5c\uc18c \ud658\uc728 \ub370\uc774\ud130 \ud504\ub808\uc784 \uc0dd\uc131\nextreme_points &lt;- data.frame(\n    Date = c(max_date, min_date),\n    Rate = c(max_rate, min_rate),\n    Label = c(paste(\"Max:\", round(max_rate, 2), \"on\", max_date), \n              paste(\"Min:\", round(min_rate, 2), \"on\", min_date))\n)\n\n# \uadf8\ub798\ud504 \uadf8\ub9ac\uae30\nggplot(data, aes(x = Date, y = Close)) +\n    geom_line(color = \"steelblue\", size = 1, alpha = 0.8) +\n    geom_line(aes(y = MA50), color = \"orange\", size = 1, linetype = \"dashed\") +\n    geom_hline(yintercept = mean_rate, color = \"blue\", linetype = \"dotted\", size = 1) +\n    annotate(\"text\", x = max(data$Date), y = mean_rate, \n             label = paste(\"10-Year Average:\", round(mean_rate, 2)), \n             color = \"blue\", vjust = -0.5, hjust = 1, size = 3) +\n    geom_vline(data = events, aes(xintercept = Date), color = \"red\", linetype = \"dashed\", size = 0.7) +\n    geom_text(data = events, aes(x = Date, y = max(data$Close, na.rm = TRUE), label = Label), \n              color = \"red\", vjust = 10, hjust = 1.5, angle = 45, size = 3) +\n    geom_point(data = extreme_points, aes(x = Date, y = Rate), color = c(\"green\", \"purple\"), size = 3) +\n    geom_text(data = extreme_points, aes(x = Date, y = Rate, label = Label), \n              color = c(\"green\", \"purple\"), vjust = c(-1, 1.5), hjust = 0.5, size = 3) +\n    labs(\n        title = \"KRW\/USD Exchange Rate Over Last 10 Years\",\n        x = \"Year\",\n        y = \"Exchange Rate (KRW\/USD)\"\n    ) +\n    theme_minimal() +\n    theme(\n        plot.title = element_text(hjust = 0.5, size = 16, face = \"bold\"),\n        axis.title = element_text(size = 12)\n    )<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\uc6d0\ub2ec\ub7ec \ud658\uc728 \uadf8\ub798\ud504 10\ub144, \ubb34\uc5c7\uc744 \ub9d0\ud574\uc8fc\ub098\uc694?<\/h2>\n\n\n<style>.kb-image3925_860b66-ea .kb-image-has-overlay:after{opacity:0.3;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;}.kb-image3925_860b66-ea img.kb-img, .kb-image3925_860b66-ea .kb-img img{border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;box-shadow:0px 0px 14px 0px rgba(0, 0, 0, 0.2);}<\/style>\n<div class=\"wp-block-kadence-image kb-image3925_860b66-ea\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"1200\" height=\"690\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/12\/image-1-4.jpg\" alt=\"\uc6d0\ub2ec\ub7ec \ud658\uc728 \uadf8\ub798\ud504 10\ub144\uce58\uc5d0 \ubbf8\uce5c \uc8fc\uc694 \uc0ac\uac74\ub4e4\" class=\"kb-img wp-image-3931\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/12\/image-1-4.jpg 1200w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/12\/image-1-4-300x173.jpg 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/12\/image-1-4-600x345.jpg 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/12\/image-1-4-768x442.jpg 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/12\/image-1-4-18x10.jpg 18w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><figcaption>( \uc6d0\ub2ec\ub7ec \ud658\uc728 \uadf8\ub798\ud504 10\ub144\uce58\uc5d0 \ubbf8\uce5c \uc8fc\uc694 \uc0ac\uac74\ub4e4 )<\/figcaption><\/figure><\/div>\n\n\n\n<p>\uc0c1\uae30\uc758 \uadf8\ub798\ud504\ub294 \uc9c0\ub09c 10\ub144 \ub3d9\uc548\uc758 \uc6d0\/\ub2ec\ub7ec \ud658\uc728 \ubcc0\ub3d9\uc744 \uc2dc\uac01\uc801\uc73c\ub85c \ubcf4\uc5ec\uc90d\ub2c8\ub2e4. \uac01\uc885 \uad6d\ub0b4\uc678 \uc8fc\uc694 \uc0ac\uac74\ub4e4\uc774 \ud658\uc728\uc5d0 \ubbf8\uce5c \uc601\ud5a5\uc744 \uba85\ud655\ud788 \ub4dc\ub7ec\ub0b4\uba70, \uc774 \uae30\uac04 \ub3d9\uc548\uc758 \ud55c\uad6d \uacbd\uc81c\uc640 \uae00\ub85c\ubc8c \uacbd\uc81c\uc758 \uc0c1\ud638\uc791\uc6a9\uc744 \uc774\ud574\ud560 \uc218 \uc788\ub294 \uc911\uc694\ud55c \ub2e8\uc11c\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4. \uc544\ub798\uc5d0\uc11c \uc8fc\ubaa9\ud560 \ub9cc\ud55c \uc810\ub4e4\uc744 \uc815\ub9ac\ud574 \ubcf4\uc558\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>COVID-19 \ud32c\ub370\ubbf9\uc758 \uc601\ud5a5<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>2020\ub144 3\uc6d4, \uc804 \uc138\uacc4\uc801\uc73c\ub85c <a href=\"https:\/\/www.who.int\/europe\/emergencies\/situations\/covid-19\" target=\"_blank\" rel=\"noopener\">COVID-19 \ud32c\ub370\ubbf9\uc774 \uc120\uc5b8<\/a>\ub418\uba74\uc11c \uacbd\uc81c\uc801 \ubd88\ud655\uc2e4\uc131\uc774 \ud655\ub300\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \uc774\ub85c \uc778\ud574 \uc6d0\ud654 \uac00\uce58\uac00 \ud558\ub77d\ud558\uace0 \uc548\uc804 \uc790\uc0b0\uc73c\ub85c \ubd84\ub958\ub418\ub294 \ub2ec\ub7ec \uc218\uc694\uac00 \uae09\uc99d\ud558\uba74\uc11c \ud658\uc728\uc774 \uae09\uaca9\ud788 \uc0c1\uc2b9\ud588\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\ub7ec\uc2dc\uc544-\uc6b0\ud06c\ub77c\uc774\ub098 \uc804\uc7c1\uc758 \uc601\ud5a5<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>2022\ub144 2\uc6d4, \ub7ec\uc2dc\uc544\uc758 \uc6b0\ud06c\ub77c\uc774\ub098 \uce68\uacf5\uc73c\ub85c \uc778\ud574 \uae00\ub85c\ubc8c \uc9c0\uc815\ud559\uc801 \ubd88\uc548\uc774 \uac00\uc911\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \uc5d0\ub108\uc9c0 \uc704\uae30\uc640 \uae00\ub85c\ubc8c \uacf5\uae09\ub9dd \ucc28\uc9c8\uc774 \uc2ec\ud654\ub418\uba74\uc11c \uc6d0\/\ub2ec\ub7ec \ud658\uc728\uc740 \ub610 \ud55c \ucc28\ub840 \ud070 \ud3ed\uc73c\ub85c \uc0c1\uc2b9\ud558\ub294 \ubaa8\uc2b5\uc744 \ubcf4\uc600\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\ube44\uc0c1\uacc4\uc5c4\ub839 \uc120\ud3ec\uc758 \uc601\ud5a5<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>2024\ub144 12\uc6d4 3\uc77c, \uc724\uc11d\uc5f4 \ub300\ud1b5\ub839\uc774 \ube44\uc0c1\uacc4\uc5c4\ub839\uc744 \uc120\ud3ec\ud55c \uc0ac\uac74\uc740 \uc678\ud658 \uc2dc\uc7a5\uc5d0 \uc989\uac01\uc801\uc778 \ucda9\uaca9\uc744 \uc8fc\uc5c8\uc2b5\ub2c8\ub2e4. \uc815\uce58\uc801 \ubd88\uc548\uc815\uc131\uc774 \ub192\uc544\uc9c0\uba74\uc11c \ud22c\uc790\uc790\ub4e4\uc758 \uc2ec\ub9ac\uac00 \uc704\ucd95\ub418\uace0, \uc774\ub294 \uc6d0\ud654 \uc57d\uc138\uc640 \uc6d0\/\ub2ec\ub7ec \ud658\uc728 \uc0c1\uc2b9\uc73c\ub85c \uc774\uc5b4\uc84c\uc2b5\ub2c8\ub2e4. \ud604\uc7ac \ud658\uc728\uc740 \uc57d 1,430\uc6d0\ub300\uc5d0\uc11c \ubcc0\ub3d9\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\ucd5c\uace0\uc810\uacfc \ucd5c\uc800\uc810<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\uadf8\ub798\ud504\uc5d0 \ub530\ub974\uba74, \ud658\uc728\uc740 2022\ub144 10\uc6d4 24\uc77c\uc5d0 \uc57d <strong>1,443.96\uc6d0<\/strong>\uc73c\ub85c \ucd5c\uace0\uc810\uc744 \uae30\ub85d\ud588\uc2b5\ub2c8\ub2e4. \ubc18\ub300\ub85c 2018\ub144 4\uc6d4 3\uc77c\uc5d0\ub294 <strong>1,053.73\uc6d0<\/strong>\uc73c\ub85c \ucd5c\uc800\uc810\uc744 \ubcf4\uc600\uc2b5\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\uc774\ub7ec\ud55c \ubcc0\ub3d9\uc740 \uad6d\uc81c\uc801 \uc774\ubca4\ud2b8\uc640 \uad6d\ub0b4 \uacbd\uc81c \uc815\ucc45\uc774 \ubcf5\ud569\uc801\uc73c\ub85c \uc791\uc6a9\ud55c \uacb0\uacfc\ub85c \ud574\uc11d\ub429\ub2c8\ub2e4.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\ub9c8\uce58\uba70<\/h2>\n\n\n\n<p>\uc6d0\ub2ec\ub7ec \ud658\uc728 \uadf8\ub798\ud504 10\ub144\uc744 \uc0b4\ud3b4\ubcf4\uba74, \uc6b0\ub9ac \uacbd\uc81c\uac00 \uc5bc\ub9c8\ub098 \ub2e4\uc591\ud55c \uc694\uc778\ub4e4\uc5d0 \uc601\ud5a5\uc744 \ubc1b\ub294\uc9c0 \uc54c \uc218 \uc788\uc5b4\uc694. \uae08\ub9ac, \ubb3c\uac00, \uad6d\uc81c \uc815\uc138 \ub4f1 \ubaa8\ub4e0 \uac83\uc774 \ubcf5\ud569\uc801\uc73c\ub85c \uc791\uc6a9\ud558\uc8e0. \uc774\ub7f0 \ub370\uc774\ud130\ub97c R\ub85c \ubd84\uc11d\ud558\uace0 \uc2dc\uac01\ud654\ud558\uba74, \ubcf5\uc7a1\ud55c \uacbd\uc81c \ud604\uc0c1\uc744 \uc870\uae08 \ub354 \uc27d\uac8c \uc774\ud574\ud560 \uc218 \uc788\ub2f5\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\uc5ec\ub7ec\ubd84\ub3c4 \uc774 \ucf54\ub4dc\ub97c \ud65c\uc6a9\ud574 \ub2e4\ub978 \uacbd\uc81c \uc9c0\ud45c\ub4e4\uc744 \ubd84\uc11d\ud574\ubcf4\ub294 \uac74 \uc5b4\ub5a8\uae4c\uc694? \ub370\uc774\ud130\ub294 \uc6b0\ub9ac\uc5d0\uac8c \ub9ce\uc740 \uc774\uc57c\uae30\ub97c \ub4e4\ub824\uc904 \uc900\ube44\uac00 \ub418\uc5b4 \uc788\ub2f5\ub2c8\ub2e4. \ud568\uaed8 \uadc0 \uae30\uc6b8\uc5ec \ub4e4\uc5b4\ubd10\uc694!<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"># \ucf54\ub4dc \uc138\ubd80\ud574\uc124<\/h3>\n\n\n\n<p>\ub2e4\uc74c\uc740 \uc6d0\ub2ec\ub7ec \ud658\uc728 \uadf8\ub798\ud504 10\ub144 \ub370\uc774\ud130\ub97c \ubd84\uc11d\ud558\uace0 \uc2dc\uac01\ud654\ud558\ub294 R \ucf54\ub4dc\uc5d0 \ub300\ud55c \ub77c\uc778\ubcc4 \ud574\uc124\uc785\ub2c8\ub2e4:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>if (!require(&#8220;quantmod&#8221;)) install.packages(&#8220;quantmod&#8221;)<br>if (!require(&#8220;ggplot2&#8221;)) install.packages(&#8220;ggplot2&#8221;)<br>if (!require(&#8220;dplyr&#8221;)) install.packages(&#8220;dplyr&#8221;)<br>if (!require(&#8220;zoo&#8221;)) install.packages(&#8220;zoo&#8221;)<\/p>\n<\/blockquote>\n\n\n\n<p>\ud544\uc694\ud55c \ud328\ud0a4\uc9c0\uac00 \uc124\uce58\ub418\uc5b4 \uc788\uc9c0 \uc54a\ub2e4\uba74 \uc124\uce58\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>library(quantmod)<br>library(ggplot2)<br>library(dplyr)<br>library(zoo)<\/p>\n<\/blockquote>\n\n\n\n<p>\ud544\uc694\ud55c \ud328\ud0a4\uc9c0\ub97c \ub85c\ub4dc\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>currency_pair &lt;- &#8220;USDKRW=X&#8221;<br>start_date &lt;- Sys.Date() &#8211; 365*10<br>end_date &lt;- Sys.Date()<\/p>\n<\/blockquote>\n\n\n\n<p>\ud658\uc728 \ub370\uc774\ud130\ub97c \uac00\uc838\uc62c \ud1b5\ud654\uc30d\uacfc \uae30\uac04\uc744 \uc124\uc815\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>getSymbols(currency_pair, src = &#8220;yahoo&#8221;, from = start_date, to = end_date, auto.assign = TRUE)<br>data &lt;- get(currency_pair)<\/p>\n<\/blockquote>\n\n\n\n<p>Yahoo Finance\uc5d0\uc11c \ud658\uc728 \ub370\uc774\ud130\ub97c \ub2e4\uc6b4\ub85c\ub4dc\ud558\uace0 \ubcc0\uc218\uc5d0 \ud560\ub2f9\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>data &lt;- na.omit(data)<\/p>\n<\/blockquote>\n\n\n\n<p>\uacb0\uce21\uac12\uc744 \uc81c\uac70\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>data &lt;- data.frame(Date = index(data), coredata(data))<br>colnames(data) &lt;- c(&#8220;Date&#8221;, &#8220;Open&#8221;, &#8220;High&#8221;, &#8220;Low&#8221;, &#8220;Close&#8221;, &#8220;Volume&#8221;, &#8220;Adjusted&#8221;)<\/p>\n<\/blockquote>\n\n\n\n<p>\ub370\uc774\ud130\ub97c \ub370\uc774\ud130\ud504\ub808\uc784\uc73c\ub85c \ubcc0\ud658\ud558\uace0 \uc5f4 \uc774\ub984\uc744 \uc9c0\uc815\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>data &lt;- data %&gt;%<br>mutate(MA50 = rollmean(Close, k = 50, fill = NA))<\/p>\n<\/blockquote>\n\n\n\n<p>50\uc77c \uc774\ub3d9\ud3c9\uade0\uc120\uc744 \uacc4\uc0b0\ud558\uc5ec \ub370\uc774\ud130\uc5d0 \ucd94\uac00\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>events &lt;- data.frame(<br>Date = as.Date(c(&#8220;2020-03-01&#8221;, &#8220;2022-02-24&#8221;, &#8220;2024-12-03&#8221;)),<br>Label = c(&#8220;COVID-19 Pandemic&#8221;, &#8220;Russia-Ukraine War&#8221;, &#8220;KR Martial Law Declaration&#8221;)<br>)<\/p>\n<\/blockquote>\n\n\n\n<p>\uc8fc\uc694 \uacbd\uc81c \uc774\ubca4\ud2b8\ub97c \uc815\uc758\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>max_rate &lt;- max(data$Close, na.rm = TRUE)<br>min_rate &lt;- min(data$Close, na.rm = TRUE)<br>max_date &lt;- data$Date[which.max(data$Close)]<br>min_date &lt;- data$Date[which.min(data$Close)]<\/p>\n<\/blockquote>\n\n\n\n<p>\ucd5c\ub300 \ubc0f \ucd5c\uc18c \ud658\uc728\uacfc \ud574\ub2f9 \ub0a0\uc9dc\ub97c \uacc4\uc0b0\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>extreme_points &lt;- data.frame(<br>Date = c(max_date, min_date),<br>Rate = c(max_rate, min_rate),<br>Label = c(paste(&#8220;Max:&#8221;, round(max_rate, 2), &#8220;on&#8221;, max_date),<br>paste(&#8220;Min:&#8221;, round(min_rate, 2), &#8220;on&#8221;, min_date))<br>)<\/p>\n<\/blockquote>\n\n\n\n<p>\ucd5c\ub300 \ubc0f \ucd5c\uc18c \ud658\uc728 \ud3ec\uc778\ud2b8\uc5d0 \ub300\ud55c \ub370\uc774\ud130\ud504\ub808\uc784\uc744 \uc0dd\uc131\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>ggplot(data, aes(x = Date, y = Close)) +<br>geom_line(color = &#8220;steelblue&#8221;, size = 1, alpha = 0.8) +<br>geom_line(aes(y = MA50), color = &#8220;orange&#8221;, size = 1, linetype = &#8220;dashed&#8221;) +<br>geom_vline(data = events, aes(xintercept = Date), color = &#8220;red&#8221;, linetype = &#8220;dashed&#8221;, size = 0.7) +<br>geom_text(data = events, aes(x = Date, y = max(data$Close, na.rm = TRUE), label = Label),<br>color = &#8220;red&#8221;, vjust = 10, hjust = 1.5, angle = 45, size = 3) +<br>geom_point(data = extreme_points, aes(x = Date, y = Rate), color = c(&#8220;green&#8221;, &#8220;purple&#8221;), size = 3) +<br>geom_text(data = extreme_points, aes(x = Date, y = Rate, label = Label),<br>color = c(&#8220;green&#8221;, &#8220;purple&#8221;), vjust = c(-1, 1.5), hjust = 0.5, size = 3) +<br>labs(<br>title = &#8220;KRW\/USD Exchange Rate Over Last 10 Years&#8221;,<br>x = &#8220;Year&#8221;,<br>y = &#8220;Exchange Rate (KRW\/USD)&#8221;<br>) +<br>theme_minimal() +<br>theme(<br>plot.title = element_text(hjust = 0.5, size = 16, face = &#8220;bold&#8221;),<br>axis.title = element_text(size = 12)<br>)<\/p>\n<\/blockquote>\n\n\n\n<p>ggplot2\ub97c \uc0ac\uc6a9\ud558\uc5ec \uadf8\ub798\ud504\ub97c \uadf8\ub9bd\ub2c8\ub2e4. \ud658\uc728 \ub370\uc774\ud130, \uc774\ub3d9\ud3c9\uade0\uc120, \uc8fc\uc694 \uc774\ubca4\ud2b8, \ucd5c\ub300\/\ucd5c\uc18c \ud658\uc728 \ud3ec\uc778\ud2b8\ub97c \ud45c\uc2dc\ud558\uace0, \uadf8\ub798\ud504 \uc81c\ubaa9\uacfc \ucd95 \ub808\uc774\ube14\uc744 \uc124\uc815\ud569\ub2c8\ub2e4. \ub9c8\uc9c0\ub9c9\uc73c\ub85c \uadf8\ub798\ud504\uc758 \ud14c\ub9c8\uc640 \uc2a4\ud0c0\uc77c\uc744 \uc870\uc815\ud569\ub2c8\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u3053\u3093\u306b\u3061\u306f\u3001\u7686\u3055\u3093\uff01\u4eca\u65e5\u306f\u79c1\u305f\u3061\u306e\u65e5\u5e38\u751f\u6d3b\u306b\u5927\u304d\u306a\u5f71\u97ff\u3092\u4e0e\u3048\u308b\u300c\u30a6\u30a9\u30f3\u30c9\u30eb\u306e\u70ba\u66ff\u30ec\u30fc\u30c8\u300d\u306b\u3064\u3044\u3066...<\/p>","protected":false},"author":3,"featured_media":4158,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[6],"tags":[174,591,592,164,590],"class_list":["post-3925","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-r-coding","tag-r-","tag-591","tag-592","tag-164","tag-590"],"taxonomy_info":{"category":[{"value":6,"label":"\uc54c(R)"}],"post_tag":[{"value":174,"label":"R \ud504\ub85c\uadf8\ub798\ubc0d"},{"value":591,"label":"\uacbd\uc81c \ubd84\uc11d"},{"value":592,"label":"\uae08\uc735 \ud2b8\ub80c\ub4dc"},{"value":164,"label":"\ub370\uc774\ud130 \uc2dc\uac01\ud654"},{"value":590,"label":"\uc6d0\ub2ec\ub7ec \ud658\uc728"}]},"featured_image_src_large":["https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/12\/R-\uc139\uc158-600x600.jpg",600,600,true],"author_info":{"display_name":"TERE","author_link":"https:\/\/secondlife.lol\/ja\/author\/tere\/"},"comment_info":0,"category_info":[{"term_id":6,"name":"\uc54c(R)","slug":"r-coding","term_group":0,"term_taxonomy_id":6,"taxonomy":"category","description":"","parent":20,"count":61,"filter":"raw","cat_ID":6,"category_count":61,"category_description":"","cat_name":"\uc54c(R)","category_nicename":"r-coding","category_parent":20}],"tag_info":[{"term_id":174,"name":"R \ud504\ub85c\uadf8\ub798\ubc0d","slug":"r-%ed%94%84%eb%a1%9c%ea%b7%b8%eb%9e%98%eb%b0%8d","term_group":0,"term_taxonomy_id":174,"taxonomy":"post_tag","description":"","parent":0,"count":15,"filter":"raw"},{"term_id":591,"name":"\uacbd\uc81c \ubd84\uc11d","slug":"%ea%b2%bd%ec%a0%9c-%eb%b6%84%ec%84%9d","term_group":0,"term_taxonomy_id":591,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":592,"name":"\uae08\uc735 \ud2b8\ub80c\ub4dc","slug":"%ea%b8%88%ec%9c%b5-%ed%8a%b8%eb%a0%8c%eb%93%9c","term_group":0,"term_taxonomy_id":592,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":164,"name":"\ub370\uc774\ud130 \uc2dc\uac01\ud654","slug":"%eb%8d%b0%ec%9d%b4%ed%84%b0-%ec%8b%9c%ea%b0%81%ed%99%94","term_group":0,"term_taxonomy_id":164,"taxonomy":"post_tag","description":"","parent":0,"count":52,"filter":"raw"},{"term_id":590,"name":"\uc6d0\ub2ec\ub7ec \ud658\uc728","slug":"%ec%9b%90%eb%8b%ac%eb%9f%ac-%ed%99%98%ec%9c%a8","term_group":0,"term_taxonomy_id":590,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"}],"_links":{"self":[{"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/posts\/3925","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/comments?post=3925"}],"version-history":[{"count":7,"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/posts\/3925\/revisions"}],"predecessor-version":[{"id":4087,"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/posts\/3925\/revisions\/4087"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/media\/4158"}],"wp:attachment":[{"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/media?parent=3925"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/categories?post=3925"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/tags?post=3925"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}