闪亮:创建和理解一个简单的应用程序

时间:2017-10-16 10:39:48

标签: r shiny

我知道一些R现在想要创建第一个简单的应用程序。这是我的数据框:

  

X

            Var1 Freq MotherAlive Deaths
1  -0.3574849239  128           1     61
2  -0.3426329835  125           2    111
3  -0.2279137719  110           2     96
4  -0.2038604979   81           1     63
5  -0.2004248235   94           2    119
6  -0.1866284306  153           2    128
7  -0.1762490299  124           1    109
8  -0.1736353449   87           2     91
9  -0.1624588718   51           2    134
10 -0.1503921713   88           1    105
11 -0.1501143228  151           1    140
12 -0.1492320254  128           2    126
13 -0.1484292603   97           2     78
14 -0.1431025682  116           2    105
15 -0.1339971398   52           1    133
16 -0.1336509151   43           1    106
17 -0.1329288171   98           1    122
18 -0.1174806726  104           2    119
19 -0.1170459477  111           1    139
20 -0.1063311927  140           2    106
21 -0.1063101037  118           1    138
22 -0.1052133391   64           2    125
23 -0.1009333742   78           1     85
24 -0.0932270424  112           2    140
25 -0.0765785108   59           1     96
26 -0.0748168224   72           1    110
27 -0.0725537833   70           2     91
28 -0.0702932290  111           2     63
29 -0.0689926554   51           2     77
30 -0.0607975570  111           1    125
31 -0.0583357003  138           2     68
32 -0.0535012169   53           1     75
33 -0.0505603465   96           2     67
34 -0.0392230996  105           1     67
35 -0.0373462508   99           1     65
36 -0.0355835995   75           2    128
37 -0.0316295745   55           1     92
38 -0.0313050685  115           1    120
39 -0.0241317373   62           2    124
40 -0.0214325431   89           2    134
41 -0.0210084740   79           2    104
42 -0.0179134498   53           2    104
43 -0.0117510238  129           1    100
44 -0.0086331499   75           1     83
45  0.0008978007   57           2     79
46  0.0076018541   60           1    127
47  0.0124470800   45           2     96
48  0.0192847770   68           2    110
49  0.0195626326   84           1     76
50  0.0277658621   93           2     78
51  0.0324838136   66           2     93
52  0.0427433106  109           2    110
53  0.0542162036   61           2     73
54  0.0617228677  104           1    136
55  0.0732288400  113           2     73
56  0.0805244157   52           1     61
57  0.0933868304  141           1     68
58  0.0962572600   47           1    111
59  0.0992007270   98           1     74
60  0.1126662494  137           1     67
61  0.1175718095   91           2     65
62  0.1193833698   76           2    110
63  0.1321158054   56           1    122
64  0.1346171097  142           1    136
65  0.1461559695   80           2     60
66  0.1551994333  160           1     76
67  0.1645405730  147           1     67
68  0.1672903379  124           1     71
69  0.1680942594  108           2     87
70  0.1805845470   67           2     63
71  0.1899103023   85           1     78
72  0.1988461353  150           2     97
73  0.2034001399   64           2    129
74  0.2182855107   90           1     94
75  0.2200093156  101           1    125
76  0.3053271995  104           2    112
77  0.3337327069   72           2    124
78  0.3668031727  100           1     75
79  0.4302071402  151           2     69

我想要的是相当简单的我想:我想要两个滑块,偏离Rye_Prices-Cycle和MotherAlive(它们是生产和工作到目前为止)我希望它们根据它们显示死亡,出生或两者的数量值。但有一些,显然有些概念认为我并不真正理解。我写了以下内容:

library(shiny)

if (interactive()) {
  options(device.ask.default = FALSE)

  ui <- fluidPage(    
    titlePanel("Events"),
    sidebarLayout(      
      sidebarPanel(
        sliderInput("Var1", "Deviation from Rye_Prices-Cycle", min = -0.5, max = 0.5, value = 0),
        sliderInput("MotherAlive", "MotherAlive", min = 1, max = 2, value = 1)
      ),
      mainPanel(
        plotOutput("EventPlot")  
      )
    )
  )

  server <- function(input, output) {
    output$EventPlot <- renderPlot({
      plot(x[,input$Var1], 
              main=input$Var1,
              ylab="Freq",
              xlab="Deaths")
    })
  }

  shinyApp(ui = ui, server = server)
}

同样,我认为有些基本概念我不明白。有人可以帮我解释一下我应该做些什么吗?

谢谢你们。

亲切的问候: 本杰明

1 个答案:

答案 0 :(得分:1)

在我看来,将Shiny用于这种情节是没有意义的。出于什么原因,您想要使用Shiny以及您提到的两个滑块的实际用途是什么?除了对您的数据进行子集化(例如,使用checkboxInput()绘制MotherAlive == 12时),我也看不到任何与Shiny相关的内容。

我将尝试仅使用一个图表显示数据x中包含的所有信息。我使用的是ggplot2基础架构:

ggplot(x) + 
  geom_point(aes(x = Deaths, y = Freq, size = Var1, colour = as.factor(MotherAlive))) + 
  geom_line(aes(x = Deaths, y = Freq, colour = as.factor(MotherAlive))) + 
  labs(col = "MotherAlive") + theme_bw()

enter image description here

对于 MotherAlive 1或{{的每个值,频率死亡的数量有关。 1}},由2参数控制),其中colour点表示 Rye_Prices-Cycle (在数据集中名为size)的值

你还想从Shiny那里得到什么?