for for dygraph在R

时间:2015-05-28 14:45:32

标签: r r-markdown dygraphs

dygraph上有一些奇怪的行为。

for使用dygraph循环时,我没有结果。

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

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

另一方面,当我使用lapply时,我确实得到了预期的结果

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

我实际上想在我自己的数据集中使用for中的R Markdown循环并迭代不同的列,但即使我使用lapply&#34;解决方法&# 34;,它没有绘制dygraphs

R Markdown代码

---
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]))
```

然而,当我逐列运行时,它可以工作

---
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])
```

非常感谢任何帮助。

会话信息

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 

2 个答案:

答案 0 :(得分:14)

只需将$('.contact-phone-option, .contact-email-option').toggle(); 中的lapply()列表输出包裹起来,例如

htmltools::tagList()

答案 1 :(得分:1)

对于任何陷入循环困境的人来说,这就是对我有用的方法。

p=list()
for (n in 1:3){
  p[[n]] <- plot_ly(x = 1:100, y = rnorm(100)+n, mode = 'lines', type="scatter")
}
htmltools::tagList(p)

即只要在循环外部调用htmltools :: tagList,列表p是在循环中创建还是应用就没关系。

感谢亿辉帮助我到达那里,并为开发和使用这些工具提供了巨大的帮助。