2016-04-04 7 views
0

Ich habe eine RMD-Datei in R und ich benutze glänzende App innerhalb dieser Datei, um CSV-Datei zu lesen und etwas Reinigung auf den Daten. Dann muss ich Zugriff auf diese Daten in der Rmd-Datei haben und erst nach Beendigung der Reinigung wird der Rest von Rmd verarbeitet!Glänzende App und Rmd-Datei kombinieren

Mein Rmd:

--- 
title: "Report_HTML" 
author: "Mohammad" 
date: "`r format(Sys.time(), '%d %B, %Y')`" 
output: html_document 
runtime: shiny 
--- 

## Read file 
This report...... (some text) 

```{r, echo=FALSE} 
library(tcltk) 
inputPanel(
    checkboxInput('header', 'Header', FALSE), 
    radioButtons('sep', 'Separator', 
       c(Comma=',', 
       Semicolon=';', 
       Tab='\t'), 
       ';'), 
    radioButtons('quote', 'Quote', 
       c(None='', 
       'Double Quote'='"', 
       'Single Quote'="'"), 
       '"'), 
    fileInput('file1', 'Choose a file to upload', 
      accept = c(
       'text/csv', 
       'text/comma-separated-values', 
       'text/tab-separated-values', 
       'text/plain', 
       '.csv', 
       '.tsv' 
      ) 
) 
) 

remove.duplicates <- function(dt){ 
    #some data cleaning 
    return(dt) 
} 

datasetInput <- reactive({ 

    inFile <- input$file1 

    dt <- read.csv(inFile$datapath, header = input$header, sep = input$sep, quote = input$quote) 

    #Remove duplicates 
    dt2 <- remove.duplicates(dt) 

    dt2 

}) 

renderDataTable({ 
    datasetInput() 
}) 
``` 

## Statistics 
in this section I need to add some simple statistics like min, max, mean for each column of the `dt`. 
```{r, echo=FALSE} 
code for calculating min, max, and mean each column dt and show them in a table 
``` 

Ich habe zwei Probleme:

  1. Ich möchte nur den Code an die Statistik Abschnitt nach Lesen und Reinigen der Daten nicht der Beginn des Ladens der im Zusammenhang laufen Rmd Datei.
  2. Ich habe keinen Zugriff auf die dt im Bereich Statistik, wie kann ich zugreifen?

Danke für Ihre Hilfe

Antwort

0

ich das Problem mit einem Verfahren gelöst, das in this question erklärt. Ich hoffe, dass es Leuten hilft, die das gleiche Problem haben.