我试图开始使用带有光泽的情节,但不幸的是它不适用于我的代码。作为一个例子,我写了这个(对不起,UI部分的描述是俄语):
UI:
library(shiny)
library(ggplot2)
library(plotly)
library(mvtnorm)
shinyUI(fluidPage(
titlePanel("Грачев Влад инкорпорейшн"),
sidebarLayout(
sidebarPanel(
sliderInput('n_obs', 'Количество испытаний', min = 0, max = 1000, value = 500, animate = TRUE),
sliderInput('prc', 'Средний рост детей', min = 170, max = 180, value = 175, step = 0.5, animate = TRUE),
sliderInput('prp', 'Средний рост родителей', min = 170, max = 180, value = 175, step = 0.5, animate = TRUE),
sliderInput('corr', 'Корреляция между ростом ребенка и ростом родителей', min = -1, max = 1, value = 0.5, step = 0.1, animate = TRUE),
sliderInput('stdc', 'Стандартное отклонение роста детей', min = 0, max = 1, value = 0.5, animate = TRUE),
sliderInput('stdp', 'Стандартное отклонение роста родителей', min = 0, max = 1, value = 0.5, animate = TRUE)
),
mainPanel(
plotOutput('dotplot'),
plotOutput('plotl')
)
)
))
服务器:
shinyServer(function(input, output){
update_x <- reactive({
mu <- c(input$prc,input$prp)
A <-matrix(
c(input$stdc, input$corr*sqrt(input$stdc*input$stdp), input$corr*sqrt(input$stdc*input$stdp), input$stdp),
nrow = 2
)
X <- rmvnorm(input$n_obs, mean = mu, sigma = A)
X
})
output$dotplot <- renderPlot({
X <- data.frame(update_x())
g <- ggplot(X, aes(x=X[,1], y = X[,2])) + geom_jitter() + stat_smooth()
gg <- ggplotly(g)
gg
})
output$plotl <- renderPlotly({
X <- data.frame(update_x())
g <-ggplot(X, aes(X[,2])) + geom_histogram(binwidth = 0.2)
gg <- ggplotly(g)
gg
})
})
它没有图形化(只是普通的renderPlot和ggplot图): enter image description here
但是当我启动上面的代码时,它没有显示任何图形或警告(只有空格),并且控制台中有2个警告:不建议使用大小来表示离散变量。
提前致谢 维拉德