2017-03-16 50 views
1

昨天我試圖用R studio編寫我的第一個交互式markdown文檔,最後它工作正常,但我無法弄清楚如何訪問渲染圖()中的數據。這可能很容易,但我找不到正確的例子。可能是某種靈魂會幫助我嗎?顯示文本和數據R markdown shiny

我想說明這個代碼

--- 
title: "Eksperimentering med utvalg" 
author: "Per G. Østerlie" 
date: "15 3 2017" 
output: html_document 
runtime: shiny 
--- 

```{r setup, include=FALSE} 
knitr::opts_chunk$set(echo = TRUE) 
``` 


# CLT 


```{r} 
fisk_masse =sample(1:1000,500,replace=TRUE) 

``` 
```{r histogram, echo=FALSE} 
hist(fisk_masse, 
    main="Masse i populasjon", 
    xlab="Masse", 
    ylab="Antall", 
    border="darkgray", 
    col="lightgray", 
    xlim=c(0,1000), 
    las=1, 
    breaks=10) 
``` 

```{r, echo=FALSE} 
paste("Gjennomsnitt: ",mean(fisk_masse)) 
paste("Standardavvik: ",sd(fisk_masse)) 
``` 

# Sample 

50 fish, choose number of samples 

```{r, echo=FALSE} 
inputPanel(
    sliderInput("n_utvalg", label = "Antall utvalg", 
       min = 50, max = 800, value = 100, step = 50) 
) 
renderPlot({ 
xbar = rep(0,input$n_utvalg) 
for (i in 1:input$n_utvalg){xbar[i]=mean(sample(fisk_masse,50,replace=FALSE))} 
hist(xbar, 
    main="Gjennomsnittsmasse i stikkprovene", 
    xlab="Masse", 
    ylab="Antall", 
    border="darkgray", 
    col="lightgray", 
    #xlim=c(0,1000), 
    las=1, 
    breaks=10) 

m <-mean(xbar) 
std<-sqrt(var(xbar)) 

}) 

現在我想以顯示變量M(或平均(XBAR)和std中心極限定理。我想有他們下的顯示直方圖。我所有的努力最終與XBAR是不知道的消息(這是有意義)。誰能告訴我一個答案?

回答

1

在有光澤,你將不得不同樣呈現文本如何當輸入是動態的時候渲染一個圖表,所以additi最後到renderPlot()你還必須添加一個renderText()部分到你的最後一個塊。

我推薦在所謂的無功導體中計算xbar。在無功導體的幫助下,您只需計算xbar一次用於繪圖和文本輸出。

您可以使用此工作示例替換您的最後一個大塊:

```{r, echo=FALSE} 

    inputPanel(
     sliderInput("n_utvalg", label = "Antall utvalg", 
        min = 50, max = 800, value = 100, step = 50) 
    ) 
    computeXbar <- reactive({ 
    xbar = rep(0,input$n_utvalg) 
    for (i in 1:input$n_utvalg){xbar[i]=mean(sample(fisk_masse,50,replace=FALSE))} 
    xbar 
    }) 

    renderPlot({ 
    xbar <- computeXbar() 
    hist(xbar, 
     main="Gjennomsnittsmasse i stikkprovene", 
     xlab="Masse", 
     ylab="Antall", 
     border="darkgray", 
     col="lightgray", 
     #xlim=c(0,1000), 
     las=1, 
     breaks=10) 

    }) 

    renderText({ 
    xbar <- computeXbar() 
    paste(
     "The mean is: ", mean(xbar), " and the standard deviation is ", sqrt(var(xbar)) 
    ) 
    }) 

``` 

您可以在此概述文章中找到閃亮的反應性的更多信息:https://shiny.rstudio.com/articles/reactivity-overview.html