Shining R应用程序创建累积分布

Shining R应用程序创建累积分布,r,shiny,probability,distribution,R,Shiny,Probability,Distribution,我想创建一个简单的R-Shining应用程序,让人可以选择一些事情: a) 我们要测试多少年(试验)? b) 我们想要测试什么(b.1——GDP,b.2——预期寿命,b.3——幸福感) c) 根据选择的b)变量,我想采用不同的概率函数。 例如,如果选择了预期寿命,p(x)=(80-x)*0.0025+0.02,然后我想显示一个累积分布图。我从谷歌那里获取了代码,尝试更新,但没有成功,所以我非常感谢你的帮助 library(shiny) # Define UI for a

我想创建一个简单的R-Shining应用程序,让人可以选择一些事情: a) 我们要测试多少年(试验)? b) 我们想要测试什么(b.1——GDP,b.2——预期寿命,b.3——幸福感) c) 根据选择的b)变量,我想采用不同的概率函数。 例如,如果选择了预期寿命,p(x)=(80-x)*0.0025+0.02,然后我想显示一个累积分布图。我从谷歌那里获取了代码,尝试更新,但没有成功,所以我非常感谢你的帮助

      library(shiny)

      # Define UI for application that draws a probability plot
      shinyUI(fluidPage(

      # Application title
      titlePanel("Cumulative Binomial Probability Plot"),

     # Sidebar with a slider input for value of lambda
     sidebarLayout(
     sidebarPanel(
     sliderInput("lambda",
              "age you want to reach",
              min = 75,
              max = 100,
              value = 1)
     ),

     # Show a plot of the generated probability plot
     mainPanel(
     plotOutput("ProbPlot")
     )
     )
     ))

     # SERVER
     library(shiny)
     library(ggplot2)
     library(scales)

     # Shiny Application
     shinyServer(function(input, output) {

     # Reactive expressions
     output$ProbPlot <- renderPlot({

     # generate lambda based on input$lambda from ui.R
     l=0:1
     lambda <- seq(min(l), max(l), length.out = input$lambda)
     probability=(80-lambda)*0.0025+0.02
     # generate trials based on lambda value
     powers=0.00025
     muCalculation <- function(lambda, powers) {(80-lambda)*powers+0.002}
     probability_at_lambda <- sapply(input$lambda, muCalculation, seq(75, 100, 1))

     # draw the probability
     par(bg = '#191661', fg = '#ffffff', col.main = '#ffffff', col.lab = '#ffffff', col.axis = 
     '#ffffff')
      plot(probability_at_lambda,type="o",col="#b1aef4", xlab="N", ylab="Probability", 
      xlim=c(75, 100), ylim=c(0.0, 1.0), pch=19)
      title(main="Cumulative Binomial Probability")
       })

       })
库(闪亮)
#为绘制概率图的应用程序定义UI
shinyUI(fluidPage)(
#申请名称
titlePanel(“累积二项概率图”),
#带有滑块输入的侧边栏,用于输入lambda值
侧边栏布局(
侧栏面板(
sliderInput(“lambda”,
“你想达到的年龄”,
最小值=75,
最大值=100,
值=1)
),
#显示生成的概率图的一个图
主面板(
绘图输出(“ProbPlot”)
)
)
))
#服务器
图书馆(闪亮)
图书馆(GG2)
图书馆(比例尺)
#闪亮的应用
shinyServer(功能(输入、输出){
#反应性表达

输出$ProbPlot我不清楚您想要做什么。但是R stats包有一个经验累积分布函数ecdf,您可以绘制。请参阅帮助?ecdf以了解其工作原理的详细信息。例如

x <- rnorm(1000)
xcdf <- ecdf(x)
plot(xcdf)

x“它不起作用”不是对你的问题的有用描述。请尽可能具体地描述你的问题。你好,我想做的是——一个人输入他想要达到的预期寿命,他输入他想要达到的预期寿命。我想用二项式概率计算来显示这一概率然后显示一张累积分布图,在人们选择的年份中。对于每个年龄段的成功率,我需要使用以下公式计算成功概率->p(x)=(80-x)*0.0025+0.02,(其中x是人们选择的年龄)我还是不明白你的问题。你是说你想计算一个人在当前年龄下活到x岁的条件概率吗?例如,P(x=80 |现在年龄=50)。然后你需要知道这些条件概率。例如,我想知道10年后的概率是多少(10次二项计算)我们的平均年龄为80岁,如果我们明年的平均年龄为0.02岁。如果我们想测试79岁的平均年龄,那么明年的平均年龄为p(79)=(80-79)*0.00025+0.02=0.02025。所以我想要一个R闪亮的应用程序,它会问,你想计算(70-100)的概率是多少岁在多少年内,我们想测试这个(n到100年),然后二项式的成功概率将是p(年龄人输入)=(80岁)*0.00025+0.002。然后是CDF图。