Day3 - shiny 고급 | 2024-03-04
Jinhwan Kim
자동차의 대시보드
대시보드 = 구성요소를 잘 배치한 Shiny
대시보드를 구성할 수 있는 많은 패키지 중 bslib
을 다룸
BootStrap LIBrary의 줄임말
Shiny는 기본적으로 Bootstrap을 사용하지만 굉장히 오래된 버전을 사용하고 있었다. 이는 코드가 많이 꼬여있어 업데이트가 어려웠고, bslib이라는 별도의 패키지로 최신 기능을 제공
23년 11월에 업데이트 됨
Try this
bslib의 주요 기능 1. value box 2. card 3. theme customizer
library(shiny)
library(bslib)
library(bsicons)
ui <- page_navbar(
title = "TITLE",
sidebar = sidebar(
"Sidebar"
),
nav_panel(
title = 'A',
p("A panel"),
layout_column_wrap(
fill = FALSE,
value_box(
title = "I got",
value = "99 problems",
showcase = bs_icon("music-note-beamed"),
p("bslib ain't one", bs_icon("emoji-smile")),
p("hit me", bs_icon("suit-spade"))
),
value_box(
title = "1st value",
value = "123",
showcase = bs_icon("bar-chart"),
theme = "purple",
p("The 1st detail")
)
),
layout_column_wrap(
card(
card_header("header"),
card_body("body"),
card_footer("footer")
),
card(
card_header("header 2"),
card_body("body 2"),
card_footer("footer 2")
)
)
),
nav_panel(
title = 'B', p("B panel")
)
)
server <- function(input, output, session){
}
shinyApp(ui, server)
set.seed(123)
myData <- data.frame(
height = round(rnorm(n = 100, mean = 180, sd = 5), 1),
weight = round(rnorm(n = 100, mean = 65, sd = 5), 1)
)
model <- lm(data = myData, formula = height ~ weight)
# save(model, file = 'model.Rdata')
value <- 35
newData <- data.frame(weight = value)
predict(model, newData) # 181.8224