2016-09-14 1 views
0

Also habe ich gerade angefangen, flexdashboard zu benutzen, um meine Ergebnisse zu visualisieren und ich habe eine kritische Frage. In meinem Verfahren habe ich einen Datensatz mit 10 Spalten, der jeden Tag aktualisiert. Am Ende des Tages melde ich nur die Spalten, die in gewisser Weise signifikant sind.Dynamisch zunehmende Anzahl von Tabs und Seiten in Flexdashboards

Die Sache ist, dass ich in einigen Tagen 2 Spalten und in einigen anderen 10 Spalten melden muss. Also habe ich mir überlegt, dies in Flexdashboard zu automatisieren.

Um eine neue Zeile mit Laschen definieren wir (beispielsweise 2 Registerkarten) DO

Row {.tabset .tabset-fade} 
----------------------------------------------------------------------- 

### Chart A 
```{r} 
one <- my_visualization function(data[,1]) 
``` 

### Chart B 
```{r} 
two <- my_visualization function(data[,2]) 
``` 

, die eine Reihe mit zwei Laschen erstellt.

Meine Frage ist: Gibt es eine Möglichkeit, so viele Registerkarten zu erzeugen, wie eine Variable c angibt? (zB c=4, ich möchte 4 Tabs!)

Entschuldigung, wenn dies vorher beantwortet wurde! Danke im Voraus!

+0

Verwenden Sie ein Skript, um die Flexdashboard Rmd zu generieren, führen Sie das Flexdashboard Rmd aus. Sie können etwas wie ['whisker'] (https://github.com/edwindj/whisker) verwenden, um auch Vorlagen zu erstellen. – hrbrmstr

Antwort

0

Der Trick ist die Cat-Funktion zu verwenden. Unten ist ein Umriss. im Wesentlichen ist es eine for-Schleife mit den Tages-Plots mit der Einbeziehung der zwei "Katze" Anrufe. Dieser Ansatz ermöglicht die Generierung von variablen Tab-Nummern. Durch Hinzufügen von {.tabset} wird die Anzeige bei vielen Plots sauberer, anstatt lange Dokumente zu erzeugen. Die '\ n' sind wichtig, um eine neue Zeile zu erstellen, andernfalls funktionieren die Hashtags nicht.

Hoffentlich haben Sie das schon gefunden. Fügen Sie das einfach für andere hinzu.

# todays results (.tabset}) 

    ```{r} 

    rlist <- c(columns to plot) 

    for (r in rlist) { 


     cat(paste0('## ', r, '\n')) 


    # insert your plot 

     cat'\n\n') 

    } 

    ```` 
Verwandte Themen