-
Notifications
You must be signed in to change notification settings - Fork 0
/
stars app.R
60 lines (49 loc) · 2 KB
/
stars app.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
library(DT)
library(shiny)
setwd("/Users/viktoriazajceva/Desktop/R/19 Shiny")
stars <- read.csv("Stars.csv")
ui <- fluidPage(
titlePanel("Stars"),
fluidRow(
column(10,
selectInput("type", "Type: ",
choices = c("Все" = "All",
"Коричневый карлик" = 0,
"Красный карлик" = 1,
"Белый карлик" = 2,
"Звезда главной последовательности" = 3,
"Супергигант" = 4,
"Гипергигант" = 5) # unique() не подходит, так как нужно прописать названия
))
),
mainPanel(
DT::dataTableOutput("table"),
plotOutput("distPlot")
))
server <- function(input,output) {
output$distPlot <- renderPlot(
{
data <- stars
hcolor <- 'grey' # цвет по умолчанию если стоит опция All, иначе..
if (input$type != "All"){
data <- data[data$Star.type == input$type,]
hcolor <- 'antiquewhite'
}
x <- data$Temperature..K. #или сразу data$Temperature..K. в boxplot
boxplot(x, col = hcolor)
}
)
output$table <- DT::renderDataTable(DT::datatable
(
{
data <- stars
if (input$type != "All"){
data <- data[data$Star.type == input$type,]
}
else {
data
}
}
))
} # конец function
shinyApp(ui = ui, server = server)