{"id":4944,"date":"2025-02-06T07:24:01","date_gmt":"2025-02-05T22:24:01","guid":{"rendered":"https:\/\/secondlife.lol\/?p=4944"},"modified":"2025-02-06T07:38:07","modified_gmt":"2025-02-05T22:38:07","slug":"master-shiny-app-templates-trendy-design","status":"publish","type":"post","link":"https:\/\/secondlife.lol\/ja\/master-shiny-app-templates-trendy-design\/","title":{"rendered":"2025\u5e74\u306e\u30c8\u30ec\u30f3\u30c7\u30a3\u306a\u30a4\u30f3\u30bf\u30e9\u30af\u30c6\u30a3\u30d6\u30a2\u30d7\u30ea\u3092\u4f5c\u308b\uff1a\u6700\u65b0\u306eShiny app templates\u3092\u6d3b\u7528\u3057\u3088\u3046"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">\uc548\ub155\ud558\uc138\uc694, R\uc744 \uc560\uc6a9\ud558\uc2dc\ub294 \uc5ec\ub7ec\ubd84! \uc624\ub298\uc740 \ucd5c\uc2e0 \ud2b8\ub80c\ub4dc\ub97c \ubc18\uc601\ud55c \uba4b\uc9c4 Shiny \uc571\uc744 \ub9cc\ub4dc\ub294 \ubc29\ubc95\uc5d0 \ub300\ud574 \uc54c\uc544\ubcf4\uaca0\uc2b5\ub2c8\ub2e4. <a href=\"https:\/\/shiny.posit.co\/\" target=\"_blank\" rel=\"noopener\">Shiny app<\/a> templates\ub97c \ud65c\uc6a9\ud558\uba74 \ud604\ub300\uc801\uc774\uace0 \uc138\ub828\ub41c UI\ub97c \uc27d\uac8c \uad6c\ud604\ud560 \uc218 \uc788\ub2f5\ub2c8\ub2e4. 2025\ub144\uc744 \ub9c9 \uc2dc\uc791\ud55c \uc9c0\uae08, \uc5b4\ub5a4 \ub514\uc790\uc778 \uc694\uc18c\ub4e4\uc774 \uc8fc\ubaa9\ubc1b\uace0 \uc788\ub294\uc9c0 \ud568\uaed8 \uc0b4\ud3b4\ubcfc\uae4c\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\">Shiny \uc571 \ucd5c\uc2e0 \ub514\uc790\uc778 \ud2b8\ub80c\ub4dc<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">2025\ub144\uc758 UX\/UI \ud2b8\ub80c\ub4dc\ub97c \ubcf4\uba74, \uc544\ub0a0\ub85c\uadf8\uc801 \uc694\uc18c\uc758 \uadc0\ud658\uacfc \ud568\uaed8 AI \uae30\ubc18 \uac1c\uc778\ud654, AR \ud1b5\ud569 \ub4f1\uc774 \uc8fc\ubaa9\ubc1b\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub7ec\ud55c \ud2b8\ub80c\ub4dc\ub97c Shiny \uc571\uc5d0 \uc5b4\ub5bb\uac8c \uc801\uc6a9\ud560 \uc218 \uc788\uc744\uc9c0 \uc54c\uc544\ubcf4\uaca0\uc2b5\ub2c8\ub2e4. <\/p>\n\n\n<style>.kb-image4944_b19541-74 .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-image4944_b19541-74 img.kb-img, .kb-image4944_b19541-74 .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-image4944_b19541-74\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"1200\" height=\"601\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/image-3-12.jpg\" alt=\"\ucd5c\uc2e0 Shiny \uc571 \ub514\uc790\uc778 \ud2b8\ub80c\ub4dc\" class=\"kb-img wp-image-4951\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/image-3-12.jpg 1200w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/image-3-12-300x150.jpg 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/image-3-12-600x301.jpg 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/image-3-12-768x385.jpg 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/image-3-12-18x9.jpg 18w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><figcaption>( \ucd5c\uc2e0 Shiny \uc571 \ub514\uc790\uc778 \ud2b8\ub80c\ub4dc )<\/figcaption><\/figure><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">1. \ubca4\ud1a0 \ubc15\uc2a4 \ub514\uc790\uc778<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>shinydashboard<\/code>&nbsp;\ud328\ud0a4\uc9c0\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc815\ubcf4\ub97c \uae54\ub054\ud558\uace0 \uc870\uc9c1\uc801\uc73c\ub85c \ud45c\ud604\ud558\ub294 \ub808\uc774\uc544\uc6c3\uc744 \uad6c\ud604\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. AI \uae30\ubc18 \uac1c\uc778\ud654<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>reticulate<\/code>&nbsp;\ud328\ud0a4\uc9c0\ub97c \ud65c\uc6a9\ud574 Python\uc758 \uba38\uc2e0\ub7ec\ub2dd \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c Shiny\uc640 \ud1b5\ud569\ud558\uc5ec \uac1c\uc778\ud654\ub41c \ub300\uc2dc\ubcf4\ub4dc\ub098 \ucd94\ucc9c \uc2dc\uc2a4\ud15c\uc744 \uad6c\ud604\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. \uc778\ud130\ub799\ud2f0\ube0c 3D \uac1d\uccb4<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>plotly<\/code>&nbsp;\ub610\ub294&nbsp;<code>rgl<\/code>&nbsp;\ud328\ud0a4\uc9c0\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc0ac\uc6a9\uc790\uac00 3D \uadf8\ub798\ud504\ub97c \uc870\uc791\ud560 \uc218 \uc788\ub294 \uc778\ud130\ub799\ud2f0\ube0c \uc2dc\uac01\ud654\ub97c \ub9cc\ub4e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4. \ubaa8\ub358 \uc2a4\ud050\uc5b4\ubaa8\ud53c\uc998<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>shinyWidgets<\/code>\u00a0\ud328\ud0a4\uc9c0\ub85c UI \uc694\uc18c\uc5d0 \ubbf8\ubb18\ud55c \uadf8\ub9bc\uc790\uc640 \uc9c8\uac10\uc744 \ucd94\uac00\ud558\uc5ec \uae4a\uc774\uac10\uc744 \uc904 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n<style>.wp-block-kadence-advancedheading.kt-adv-heading4944_05b7b9-09, .wp-block-kadence-advancedheading.kt-adv-heading4944_05b7b9-09[data-kb-block=\"kb-adv-heading4944_05b7b9-09\"]{font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading4944_05b7b9-09 mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading4944_05b7b9-09[data-kb-block=\"kb-adv-heading4944_05b7b9-09\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading4944_05b7b9-09 img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading4944_05b7b9-09[data-kb-block=\"kb-adv-heading4944_05b7b9-09\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<h3 class=\"kt-adv-heading4944_05b7b9-09 wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading4944_05b7b9-09\">5. bslib \ud65c\uc6a9<\/h3>\n\n\n\n<ol start=\"5\" class=\"wp-block-list\"><\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">bslib \ud328\ud0a4\uc9c0\ub97c \uc0ac\uc6a9\ud558\uc5ec \ucd5c\uc2e0 Bootstrap \uae30\ubc18\uc758 \ud604\ub300\uc801\uc778 UI\ub97c \uad6c\ud604\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub7ec\ud55c \ud2b8\ub80c\ub4dc\ub97c \uc801\uc808\ud788 \uc870\ud569\ud558\uc5ec Shiny \uc571\uc5d0 \uc801\uc6a9\ud558\uba74, 2025\ub144\uc758 \ucd5c\uc2e0 \ub514\uc790\uc778 \uac10\uac01\uc744 \ubc18\uc601\ud55c \ud604\ub300\uc801\uc774\uace0 \uc0ac\uc6a9\uc790 \uce5c\ud654\uc801\uc778 \uc571\uc744 \ub9cc\ub4e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \uc911\uc5d0\uc11c \uc624\ub298\uc740 \ub9c8\uc9c0\ub9c9 \ud56d\ubaa9\uc5d0 \ub300\ud574\uc11c \uc54c\uc544\ubcf4\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">bslib: \ud604\ub300\uc801\uc778 UI\uc758 \ud575\uc2ec<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">bslib \ud328\ud0a4\uc9c0\ub294 \ucd5c\uc2e0 Shiny \uc571 \uac1c\ubc1c\uc5d0 \uc788\uc5b4 \ud544\uc218\uc801\uc778 \ub3c4\uad6c\uc785\ub2c8\ub2e4. Bootstrap 5\ub97c \uae30\ubc18\uc73c\ub85c \ud55c \uc774 \ud328\ud0a4\uc9c0\ub97c \uc0ac\uc6a9\ud558\uba74 CSS \uc9c0\uc2dd \uc5c6\uc774\ub3c4 \uc138\ub828\ub41c UI\ub97c \ub9cc\ub4e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code language-R\"><code>library(shiny)\nlibrary(bslib)\n\nui &lt;- page_fluid(\n  theme = bs_theme(version = 5, bootswatch = \"minty\"),\n  h1(\"My Trendy Shiny App\"),\n  card(\n    card_header(\"Welcome!\"),\n    card_body(\"This is a modern Shiny app using bslib.\")\n  )\n)\n\nserver &lt;- function(input, output) {}\n\nshinyApp(ui, server)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774 \ucf54\ub4dc\ub294 Bootstrap 5\uc758 &#8216;Minty&#8217; \ud14c\ub9c8\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc544\ub798\uc640 \uac19\uc774 \uae54\ub054\ud558\uace0 \ud604\ub300\uc801\uc778 \ub514\uc790\uc778\uc758 \uc571\uc744 \ub9cc\ub4ed\ub2c8\ub2e4.<\/p>\n\n\n<style>.kb-image4944_710d94-f9 .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-image4944_710d94-f9 img.kb-img, .kb-image4944_710d94-f9 .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-image4944_710d94-f9\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"891\" height=\"518\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/image-3-8.jpg\" alt=\"Minty \ud14c\ub9c8 shiny app templates \" class=\"kb-img wp-image-4947\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/image-3-8.jpg 891w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/image-3-8-300x174.jpg 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/image-3-8-600x349.jpg 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/image-3-8-768x446.jpg 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/image-3-8-18x10.jpg 18w\" sizes=\"(max-width: 891px) 100vw, 891px\" \/><figcaption>( Minty \ud14c\ub9c8 shiny app templates )<\/figcaption><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">\ubc18\uc751\ud615 \ub808\uc774\uc544\uc6c3\uacfc \uce74\ub4dc \ub514\uc790\uc778<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\ucd5c\uc2e0 \ud2b8\ub80c\ub4dc\ub294 \ub2e4\uc591\ud55c \ub514\ubc14\uc774\uc2a4\uc5d0 \ub300\uc751\ud558\ub294 \ubc18\uc751\ud615 \ub514\uc790\uc778\uc744 \uac15\uc870\ud569\ub2c8\ub2e4. bslib\uc758 <code>layout_column_wrap()<\/code>\uc744 \uc0ac\uc6a9\ud558\uc5ec \uc774\ub97c \uad6c\ud604\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code language-R\"><code>ui &lt;- page_fluid(\n  theme = bs_theme(version = 5, bootswatch = \"pulse\"),\n  layout_column_wrap(\n    width = 1\/2,\n    card(\n      card_header(\"Analytics\"),\n      card_body(\"Your analytics content here\")\n    ),\n    card(\n      card_header(\"User Data\"),\n      card_body(\"User information display\")\n    )\n  )\n)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc704 \ucf54\ub4dc \uc2e4\ud589 \uacb0\uacfc\ub85c \uc6f9\ud654\uba74 \uc0ac\uc774\uc988\uc5d0 \ub530\ub77c \uc790\ub3d9\uc801\uc73c\ub85c \ub514\uc790\uc778\uc774 \ubc18\uc751\uc744 \ud558\ub294 \uae30\ub2a5\uc774 \ub3d9\uc791\ud558\uac8c \ub429\ub2c8\ub2e4.<\/p>\n\n\n<style>.kb-image4944_20ecb9-b3 .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-image4944_20ecb9-b3 img.kb-img, .kb-image4944_20ecb9-b3 .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-image4944_20ecb9-b3\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"1200\" height=\"471\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/image-3-9.jpg\" alt=\"\ubc18\uc751\ud615 \ub808\uc774\uc544\uc6c3\uacfc \uce74\ub4dc \ub514\uc790\uc778\" class=\"kb-img wp-image-4948\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/image-3-9.jpg 1200w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/image-3-9-300x118.jpg 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/image-3-9-600x236.jpg 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/image-3-9-768x301.jpg 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/image-3-9-18x7.jpg 18w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><figcaption>( \ubc18\uc751\ud615 \ub808\uc774\uc544\uc6c3\uacfc \uce74\ub4dc \ub514\uc790\uc778 )<\/figcaption><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">\uc778\ud130\ub799\ud2f0\ube0c \uc694\uc18c \ucd94\uac00<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uc0ac\uc6a9\uc790 \uacbd\ud5d8\uc744 \ud5a5\uc0c1\uc2dc\ud0a4\uae30 \uc704\ud574 \uc778\ud130\ub799\ud2f0\ube0c\ud55c \uc694\uc18c\ub97c \ucd94\uac00\ud574\ubd05\uc2dc\ub2e4. plotly\ub97c \uc0ac\uc6a9\ud558\uba74 \ub3d9\uc801\uc778 \uadf8\ub798\ud504\ub97c \uc27d\uac8c \ub9cc\ub4e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code language-R\"><code>library(shiny)\nlibrary(plotly)\n\nui &lt;- fluidPage(\n    titlePanel(\"Interactive mtcars Scatter Plot\"),\n    sidebarLayout(\n        sidebarPanel(\n            helpText(\"This app shows the relationship between weight (wt) and fuel efficiency (mpg) in the mtcars dataset.\")\n        ),\n        mainPanel(\n            plotlyOutput(\"interactive_plot\")\n        )\n    )\n)\n\nserver &lt;- function(input, output) {\n    output$interactive_plot &lt;- renderPlotly({\n        plot_ly(data = mtcars, x = ~wt, y = ~mpg, type = 'scatter', mode = 'markers') %>%\n            layout(title = 'mtcars: Weight vs Fuel Efficiency',\n                   xaxis = list(title = 'Weight (1000 lbs)'),\n                   yaxis = list(title = 'Fuel Efficiency (mpg)'))\n    })\n}\n\nshinyApp(ui = ui, server = server)<\/code><\/pre>\n\n\n<style>.kb-image4944_d9d4b0-4d .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-image4944_d9d4b0-4d img.kb-img, .kb-image4944_d9d4b0-4d .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-image4944_d9d4b0-4d\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"1200\" height=\"679\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/image-3-10.jpg\" alt=\"\uc778\ud130\ub799\ud2f0\ube0c \uc694\uc18c \ubc18\uc601\ub41c Shiny App Templates \" class=\"kb-img wp-image-4949\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/image-3-10.jpg 1200w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/image-3-10-300x170.jpg 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/image-3-10-600x340.jpg 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/image-3-10-768x435.jpg 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/image-3-10-18x10.jpg 18w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><figcaption>( \uc778\ud130\ub799\ud2f0\ube0c \uc694\uc18c \ubc18\uc601\ub41c Shiny App Templates )<\/figcaption><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">\ucee4\uc2a4\ud140 \ud14c\ub9c8 \uc801\uc6a9<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">bslib\uc744 \uc0ac\uc6a9\ud558\uba74 \uc571\uc758 \uc804\uccb4\uc801\uc778 look and feel\uc744 \uc27d\uac8c \ucee4\uc2a4\ud130\ub9c8\uc774\uc988\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub2e4\uc74c\uc740 bslib\uc744 \ud65c\uc6a9\ud55c \ub354 \uc0c1\uc138\ud55c \ud14c\ub9c8 \uc801\uc6a9 \uc608\uc2dc\uc785\ub2c8\ub2e4.<\/p>\n\n\n<style>.kb-image4944_32a7df-ed .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-image4944_32a7df-ed img.kb-img, .kb-image4944_32a7df-ed .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-image4944_32a7df-ed\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"1200\" height=\"727\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/image-3-11.jpg\" alt=\"\ucee4\uc2a4\ud140 \ud14c\ub9c8 \uc801\uc6a9\" class=\"kb-img wp-image-4950\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/image-3-11.jpg 1200w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/image-3-11-300x182.jpg 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/image-3-11-600x364.jpg 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/image-3-11-768x465.jpg 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/image-3-11-18x12.jpg 18w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><figcaption>( \ucee4\uc2a4\ud140 \ud14c\ub9c8 \uc801\uc6a9 )<\/figcaption><\/figure><\/div>\n\n\n\n<pre class=\"wp-block-code language-R\"><code>library(shiny)\nlibrary(bslib)\nlibrary(ggplot2)\n\n# \ucee4\uc2a4\ud140 \ud14c\ub9c8 \uc815\uc758\nmy_theme &lt;- bs_theme(\n    bg = \"#FAFAFA\",\n    fg = \"#333333\",\n    primary = \"#007BFF\",\n    secondary = \"#6C757D\",\n    base_font = font_google(\"Roboto\"),\n    heading_font = font_google(\"Montserrat\"),\n    font_scale = 1.1\n)\n\n# UI \uc815\uc758\nui &lt;- page_navbar(\n    theme = my_theme,\n    title = \"Old Faithful Geyser Data\",\n    nav_panel(\"Home\",\n              sidebarLayout(\n                  sidebarPanel(\n                      title = \"Controls\",\n                      sliderInput(\"bins\", \"Number of bins:\", min = 1, max = 50, value = 30)\n                  ),\n                  mainPanel(\n                      card(\n                          card_header(\"Geyser Eruption Histogram\"),\n                          plotOutput(\"geyserPlot\"),\n                          verbatimTextOutput(\"debugText\")\n                      )\n                  )\n              )\n    ),\n    nav_panel(\"About\",\n              \"This app shows a histogram of the Old Faithful geyser eruption data.\"\n    )\n)\n\n# \uc11c\ubc84 \ub85c\uc9c1\nserver &lt;- function(input, output, session) {\n    output$geyserPlot &lt;- renderPlot({\n        req(input$bins)  # \uc785\ub825\uac12\uc774 \uc900\ube44\ub418\uc5c8\ub294\uc9c0 \ud655\uc778\n        \n        x &lt;- faithful$waiting\n        bins &lt;- seq(min(x), max(x), length.out = input$bins + 1)\n        \n        # \ub514\ubc84\uae45 \uc815\ubcf4 \ucd9c\ub825\n        output$debugText &lt;- renderPrint({\n            cat(\"Bins:\", length(bins) - 1, \"\\n\")\n            cat(\"Range:\", range(x), \"\\n\")\n            cat(\"Data points:\", length(x), \"\\n\")\n        })\n        \n        ggplot(faithful, aes(x = waiting)) +\n            geom_histogram(breaks = bins, fill = \"skyblue\", color = \"white\") +\n            theme_minimal() +\n            labs(title = \"Old Faithful Geyser Eruptions\",\n                 x = \"Waiting time to next eruption (mins)\",\n                 y = \"Frequency\")\n    })\n}\n\n# \uc571 \uc2e4\ud589\nshinyApp(ui = ui, server = server)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774 Shiny \uc571 \ucf54\ub4dc\uc5d0\uc11c:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><code>bs_theme()<\/code> \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uc5ec \ubc30\uacbd\uc0c9, \ud14d\uc2a4\ud2b8 \uc0c9\uc0c1, primary\/secondary \uc0c9\uc0c1 \ub4f1 \ub2e4\uc591\ud55c \ud14c\ub9c8 \uc694\uc18c\ub97c \ucee4\uc2a4\ud140\ud558\uc5ec \uc815\uc758\ud588\uc2b5\ub2c8\ub2e4. \ub610\ud55c Google Fonts\ub97c \uc774\uc6a9\ud574 \uae30\ubcf8 \ud3f0\ud2b8\uc640 \uc81c\ubaa9 \ud3f0\ud2b8\ub97c \uac01\uac01 \ub2e4\ub974\uac8c \uc124\uc815\ud588\uc2b5\ub2c8\ub2e4.<\/li>\n\n\n\n<li><code>page_navbar()<\/code> \ud568\uc218\ub85c \uc571\uc758 \uba54\uc778 \ub808\uc774\uc544\uc6c3\uc744 \uad6c\uc131\ud588\uc2b5\ub2c8\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uba74 \uc0c1\ub2e8\uc5d0 \ub124\ube44\uac8c\uc774\uc158 \ubc14\ub97c \uc27d\uac8c \ub9cc\ub4e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\ub124\ube44\uac8c\uc774\uc158 \ubc14 \ub0b4\ubd80\uc5d0\uc11c <code>layout_sidebar()<\/code> \ud568\uc218\ub85c \uc0ac\uc774\ub4dc\ubc14 \ub808\uc774\uc544\uc6c3\uc744 \uc815\uc758\ud588\uc2b5\ub2c8\ub2e4. \uc0ac\uc774\ub4dc\ubc14\uc5d0\ub294 \uc2ac\ub77c\uc774\ub354 \ucee8\ud2b8\ub864\uc744 \ubc30\uce58\ud588\uace0, \uba54\uc778 \uc601\uc5ed\uc5d0\ub294 <code>card()<\/code> \ud568\uc218\ub85c \ud788\uc2a4\ud1a0\uadf8\ub7a8 \ud50c\ub86f\uacfc \ub514\ubc84\uadf8 \ud14d\uc2a4\ud2b8\ub97c \ub2f4\ub294 \uce74\ub4dc\ub97c \ub9cc\ub4e4\uc5c8\uc2b5\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\uc11c\ubc84 \ub85c\uc9c1\uc5d0\uc11c\ub294 <code>renderPlot()<\/code> \ud568\uc218\ub85c \ud788\uc2a4\ud1a0\uadf8\ub7a8 \ud50c\ub86f\uc744 \ub80c\ub354\ub9c1\ud558\uace0, <code>renderPrint()<\/code> \ud568\uc218\ub85c \ub514\ubc84\uadf8 \uc815\ubcf4\ub97c \ucd9c\ub825\ud558\ub3c4\ub85d \uad6c\ud604\ud588\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\uc804\ubc18\uc801\uc73c\ub85c \uc774 \ucf54\ub4dc\ub294 bslib \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c \uc774\uc6a9\ud574 Bootstrap 4 \uc2a4\ud0c0\uc77c\uc758 \ubc18\uc751\ud615 Shiny \uc571\uc744 \ub9cc\ub4dc\ub294 \ubc29\ubc95\uc744 \uc798 \ubcf4\uc5ec\uc8fc\uace0 \uc788\uc2b5\ub2c8\ub2e4. \ucee4\uc2a4\ud140 \ud14c\ub9c8 \uc124\uc815, \ub808\uc774\uc544\uc6c3 \uad6c\uc131, \ub370\uc774\ud130 \uc2dc\uac01\ud654 \ub4f1 Shiny \uc571 \uac1c\ubc1c\uc758 \ud575\uc2ec \uc694\uc18c\ub4e4\uc774 \ud3ec\ud568\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Shiny app templates \ud3ec\uc2a4\ud2b8\ub97c \ub9c8\ubb34\ub9ac\ud558\uba70<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Shiny app templates\ub97c \ud65c\uc6a9\ud558\uba74 \ucd5c\uc2e0 \ud2b8\ub80c\ub4dc\ub97c \ubc18\uc601\ud55c \uba4b\uc9c4 \uc571\uc744 \uc27d\uac8c \ub9cc\ub4e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4. bslib, plotly \ub4f1\uc758 \ud328\ud0a4\uc9c0\ub97c \uc870\ud569\ud558\uc5ec \uc0ac\uc6a9\ud558\uba74 \ub354\uc6b1 \ud48d\uc131\ud55c UI\uc640 UX\ub97c \uc81c\uacf5\ud560 \uc218 \uc788\uc8e0. 2025\ub144\uc744 \uc2dc\uc791\ud558\ub294 \uc9c0\uae08, \uc544\ub0a0\ub85c\uadf8\uc801 \uc694\uc18c\uc640 \ub514\uc9c0\ud138 \ud601\uc2e0\uc758 \uc870\ud654\ub97c \uace0\ubbfc\ud574\ubcf4\ub294 \uac83\ub3c4 \uc88b\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Shiny\uc758 \uc138\uacc4\ub294 \ub04a\uc784\uc5c6\uc774 \uc9c4\ud654\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \uac00\uc774\ub4dc\ub97c \ud1b5\ud574 \uc5ec\ub7ec\ubd84\uc758 \ub2e4\uc74c Shiny \ud504\ub85c\uc81d\ud2b8\uac00 \ud55c\uce35 \ub354 \uc138\ub828\ub418\uace0 \uc0ac\uc6a9\uc790 \uce5c\ud654\uc801\uc73c\ub85c \ubc1c\uc804\ud558\uae30\ub97c \ubc14\ub78d\ub2c8\ub2e4!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ucc38\uace0\ub85c, \uc694\uc998 \ub9ce\uc774 \uc0ac\uc6a9\ud558\uc2dc\ub294 \ud30c\uc774\uc36c\uc5d0\uc11c\ub3c4 R\uacfc \ub9c8\ucc2c\uac00\uc9c0\ub85c plotly\ub97c \uc774\uc6a9\ud55c \ubc18\uc751\ud615 \uc6f9\uc744 \uad6c\ud604\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <a href=\"https:\/\/secondlife.lol\/interactive-graph-python-plotly\/\" data-type=\"post\" data-id=\"4442\">\uc778\ud130\ub799\ud2f0\ube0c \uadf8\ub798\ud504: \ud30c\uc774\uc36c Plotly\ub85c \ub370\uc774\ud130 \uc2dc\uac01\ud654 \uc27d\uac8c \ubc30\uc6b0\uae30<\/a> \ud3ec\uc2a4\ud2b8\ub97c \ud1b5\ud574\uc11c \uadf8 \ub0b4\uc6a9\uc744 \ud655\uc778\ud574\ubcf4\uc138\uc694!<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">#\uc6a9\uc5b4 \ud574\uc124<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>bslib<\/strong>: Bootstrap\uc744 R\uc5d0\uc11c \uc27d\uac8c \uc0ac\uc6a9\ud560 \uc218 \uc788\uac8c \ud574\uc8fc\ub294 \ud328\ud0a4\uc9c0<\/li>\n\n\n\n<li><strong>\ubc18\uc751\ud615 \ub514\uc790\uc778<\/strong>: \ub2e4\uc591\ud55c \ud654\uba74 \ud06c\uae30\uc5d0 \uc790\ub3d9\uc73c\ub85c \ub300\uc751\ud558\ub294 \uc6f9 \ub514\uc790\uc778 \ubc29\uc2dd<\/li>\n\n\n\n<li><strong>plotly<\/strong>: \uc778\ud130\ub799\ud2f0\ube0c\ud55c \uadf8\ub798\ud504\ub97c \ub9cc\ub4e4 \uc218 \uc788\ub294 JavaScript \ub77c\uc774\ube0c\ub7ec\ub9ac\uc758 R \ubc84\uc804<\/li>\n<\/ul>\n\n\n<style>.kb-image4457_249bea-0c.kb-image-is-ratio-size, .kb-image4457_249bea-0c .kb-image-is-ratio-size{max-width:300px;width:100%;}.wp-block-kadence-column > .kt-inside-inner-col > .kb-image4457_249bea-0c.kb-image-is-ratio-size, .wp-block-kadence-column > .kt-inside-inner-col > .kb-image4457_249bea-0c .kb-image-is-ratio-size{align-self:unset;}.kb-image4457_249bea-0c figure{max-width:300px;}.kb-image4457_249bea-0c .image-is-svg, .kb-image4457_249bea-0c .image-is-svg img{width:100%;}.kb-image4457_249bea-0c .kb-image-has-overlay:after{opacity:0.3;}<\/style>\n<div class=\"wp-block-kadence-image kb-image4457_249bea-0c\"><figure class=\"aligncenter size-medium\"><img decoding=\"async\" width=\"300\" height=\"300\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/01\/teri-coding-300x300.webp\" alt=\"\ud14c\ub9ac \uc774\ubaa8\ud2f0\ucf58\" class=\"kb-img wp-image-4456\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/01\/teri-coding-300x300.webp 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/01\/teri-coding-600x600.webp 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/01\/teri-coding-150x150.webp 150w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/01\/teri-coding-768x768.webp 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/01\/teri-coding-12x12.webp 12w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/01\/teri-coding.webp 1024w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><figcaption><strong>( \uc990\uac81\uac8c \ucf54\ub529\uc744 \ud569\uc2dc\ub2e4! )<\/strong><\/figcaption><\/figure><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u3053\u3093\u306b\u3061\u306f\u3001R\u3092\u611b\u7528\u3057\u3066\u3044\u308b\u7686\u3055\u3093\uff01\u4eca\u65e5\u306f\u6700\u65b0\u306e\u30c8\u30ec\u30f3\u30c9\u3092\u53cd\u6620\u3057\u305f\u7d20\u6575\u306aShiny...<\/p>","protected":false},"author":3,"featured_media":4955,"comment_status":"open","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":[432,300,174,177],"class_list":["post-4944","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-r-coding","tag-plotly-","tag-r-","tag-177"],"taxonomy_info":{"category":[{"value":6,"label":"\uc54c(R)"}],"post_tag":[{"value":432,"label":"plotly \uc0ac\uc6a9\ubc95"},{"value":300,"label":"R \uc2dc\uac01\ud654"},{"value":174,"label":"R \ud504\ub85c\uadf8\ub798\ubc0d"},{"value":177,"label":"\ub370\uc774\ud130 \ubd84\uc11d"}]},"featured_image_src_large":["https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/Shiny-app-templates-\ud3ec\uc2a4\ud2b8-\uc378\ub124\uc77c-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":432,"name":"plotly \uc0ac\uc6a9\ubc95","slug":"plotly-%ec%82%ac%ec%9a%a9%eb%b2%95","term_group":0,"term_taxonomy_id":432,"taxonomy":"post_tag","description":"","parent":0,"count":2,"filter":"raw"},{"term_id":300,"name":"R \uc2dc\uac01\ud654","slug":"r-%ec%8b%9c%ea%b0%81%ed%99%94","term_group":0,"term_taxonomy_id":300,"taxonomy":"post_tag","description":"","parent":0,"count":12,"filter":"raw"},{"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":177,"name":"\ub370\uc774\ud130 \ubd84\uc11d","slug":"%eb%8d%b0%ec%9d%b4%ed%84%b0-%eb%b6%84%ec%84%9d","term_group":0,"term_taxonomy_id":177,"taxonomy":"post_tag","description":"","parent":0,"count":36,"filter":"raw"}],"_links":{"self":[{"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/posts\/4944","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=4944"}],"version-history":[{"count":6,"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/posts\/4944\/revisions"}],"predecessor-version":[{"id":4957,"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/posts\/4944\/revisions\/4957"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/media\/4955"}],"wp:attachment":[{"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/media?parent=4944"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/categories?post=4944"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/tags?post=4944"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}