2015-05-28 5 views
8

Es gibt ein seltsames Verhalten auf dygraph.For Schleife über Dygraphie funktioniert nicht in R

Bei Verwendung einer for Schleife für dygraph bekomme ich kein Ergebnis.

library(dygraphs) 
lungDeaths <- cbind(mdeaths, fdeaths) 

for(i in 1:2){ 
    dygraph(lungDeaths[, i]) 
} 

Auf der anderen Seite, wenn ich lapply verwende ich bekomme das erwartete Ergebnis

lapply(1:2, function(i) dygraph(lungDeaths[, i])) 

Ich mag eigentlich die for Schleife in R Markdown auf meinem eigenen Datensatz und über die verschiedenen Spalten durchlaufen verwenden, aber selbst wenn ich die lapply „Abhilfe“ verwenden, ist es nicht plotten die dygraphs

R Markdown-Code

--- 
title: "Untitled" 
author: "dimitris_ps" 
date: "28 May 2015" 
output: html_document 
--- 

```{r} 
library(dygraphs) 
lungDeaths <- cbind(mdeaths, fdeaths) 
lapply(1:2, function(i) dygraph(lungDeaths[, i])) 
``` 

Während, wenn ich es Spalte für Spalte führen Sie es

--- 
title: "Untitled" 
author: "dimitris_ps" 
date: "28 May 2015" 
output: html_document 
--- 

```{r echo=FALSE} 
library(dygraphs) 
lungDeaths <- cbind(mdeaths, fdeaths) 
``` 

```{r} 
dygraph(lungDeaths[, 1]) 
dygraph(lungDeaths[, 2]) 
``` 

Jede Hilfe wird funktioniert sehr geschätzt.

Session info

R version 3.2.0 (2015-04-16) 
Platform: x86_64-w64-mingw32/x64 (64-bit) 
Running under: Windows 7 x64 (build 7601) Service Pack 1 

locale: 
[1] LC_COLLATE=English_United Kingdom.1252 LC_CTYPE=English_United Kingdom.1252 
[3] LC_MONETARY=English_United Kingdom.1252 LC_NUMERIC=C       
[5] LC_TIME=English_United Kingdom.1252  

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods base  

other attached packages: 
[1] dygraphs_0.4.3 devtools_1.7.0 

loaded via a namespace (and not attached): 
[1] htmltools_0.2.6 tools_3.2.0  yaml_2.1.13  rmarkdown_0.6.1 digest_0.6.8 
+0

'lapply' funktioniert in' markdown' für mich. Was 'for loop' betrifft, können Sie das Problem (ineffizient) beheben, indem Sie' show (dygraph (lungDeaths [, i])) ' – user227710

+0

verwenden. Danke, dass Sie sich das angesehen haben. Leider arbeiten für mich beide nicht. Ich werde meine Frage mit meinem 'sessionInfo()' –

+0

aktualisieren Ich benutze die gleiche R-Version plus '0.4.3' dygraphs Version. – user227710

Antwort

6

einfach wickeln Sie die Listenausgabe von lapply() in htmltools::tagList(), z.B.

```{r} 
library(dygraphs) 
lungDeaths <- cbind(mdeaths, fdeaths) 
res <- lapply(1:2, function(i) dygraph(lungDeaths[, i])) 
htmltools::tagList(res) 
``` 
+0

Danke, dein Guru. –