[R] R Shiny 로 두 집단 간 평균 차이 t-검정(t-Test) 신뢰수준별 신뢰구간 구하는 웹 애플리케이션 만들기
R 분석과 프로그래밍/R 동적 문서(Dynamic Document) 2019. 6. 30. 22:26이번 포스팅에서는 R Shiny를 사용하여
- (1) 두 개의 독립 표본 집단 간 평균 차이 t-검정 (independent two-sample t-test)
- (2) 신뢰수준 별 신뢰구간 (confidence interval by confidence level)
을 구하는 웹 애플리케이션을 만들어보겠습니다.
예제로 사용한 데이터는 MASS 패키지의 Cars93 데이터프레임이며, 'Origin' 변수의 두 개 집단(USA, Non-USA) 별로 Price, RPM, Length, Width 변수 간의 t-test 를 해보겠습니다.
왼쪽 사이드바 패널에는 t-검정을 할 변수를 선택할 수 있는 콤보 박스와, 신뢰수준(confidence level)을 지정할 수 있는 슬라이드 입력(default = 0.95) 화면을 만들었습니다.
그리고 메인 패널에는 변수 이름, 신뢰수준, t-검정 결과를 텍스트로 보여줍니다.
library(shiny) # Define UI for application that does t-test ui <- fluidPage(
# Application title titlePanel("Independent two sample t-test"),
# Select a variable to do t-test by Origin (USA vs. non-USA groups) sidebarPanel( selectInput("var_x", label = "Select a Variable to do t-test", choices = list("Price"="Price", "RPM"="RPM", "Length"="Length", "Width"="Width"), selected = "Price"),
sliderInput("conf_level", "Confidence Level:", min = 0.05, max = 0.99, value = 0.95) ),
# Show a t-test result mainPanel( h5("Variable is:"), verbatimTextOutput("var_x_name"), h5("Confidence Level is:"), verbatimTextOutput("conf_level"), h4("t-test Result by Origin (USA vs. non-USA independent two samples)"), verbatimTextOutput("t_test") ) ) # Define server logic required to do t-test server <- function(input, output) {
library(MASS) cars93_sub <- Cars93[, c('Origin', 'Price', 'RPM', 'Length', 'Width')]
output$var_x_name <- renderText({ as.character(input$var_x) })
output$conf_level <- renderText({ as.character(input$conf_level) })
output$t_test <- renderPrint({ # independent two-sample t-test t.test(cars93_sub[,input$var_x] ~ Origin, data = cars93_sub, alternative = c("two.sided"), var.equal = FALSE, conf.level = input$conf_level) }) }
# Run the application shinyApp(ui = ui, server = server) |
많은 도움이 되었기를 바랍니다.
'R 분석과 프로그래밍 > R 동적 문서(Dynamic Document)' 카테고리의 다른 글
[R] R Shiny로 두 연속형 변수 간 상관계수, 산점도와 회귀선 그리는 앱 애플리케이션 만들기 (2) | 2019.06.30 |
---|---|
[R] R Shiny로 연속형 변수 별 요약 통계량 조회하는 Interactive App 만들기 (0) | 2019.06.29 |
[R] rmarkdown HTML 문서의 포맷 정하기 (7) | 2017.05.02 |
[R] servr 패키지를 사용해서 .Rmd 파일들을 자동 rendering 하고 로컬 웹 서버로 올리기 (0) | 2017.05.01 |
[R] RStudio 를 사용해서 HTML 문서 만들기 (2) | 2017.04.30 |