Объединить 1000 файлов HTML в R - PullRequest
0 голосов
/ 08 июня 2018

У меня более 1000 HTML-файлов, и я хочу объединить их.Я предоставил код ниже, как я это делаю.Но не происходит слияние, и я получаю пустой html-файл (объединенный).

saveWidget(f1, "f1.html")
saveWidget(f2, "f2.html")
saveWidget(f3, "f3.html")
saveWidget(f4, "f4.html") and so on till saveWidget(f1000, "f1000.html")

Код для объединения файлов:

    library(htmlwidgets)
    htmlFiles<-list.files("/path/")
    library(htmltools)
    widgets <- list(htmlFiles)
    #fns <- replicate(length(widgets), tempfile(pattern = "widget_", fileext = #".html"))
    #Map(htmlwidgets::saveWidget, widgets, fns)

iframes <- lapply(widgets, function(fn) 
  tags$iframe(
    src = paste0("/path/", fn), 
    style="display:block", 
    height="300", width="1200"
  )  
)
tags$html(
  tags$body(
    iframes
  )
) %>% 
  save_html(tf<<-tempfile(fileext = ".html"))
shell.exec(tf)

Заранее спасибо!

1 Ответ

0 голосов
/ 08 июня 2018

Вы можете сделать

library(htmltools)
widgets <- list(DT::datatable(mtcars), DT::datatable(USArrests))
fns <- replicate(length(widgets), tempfile(pattern = "widget_", fileext = ".html"))
Map(htmlwidgets::saveWidget, widgets, fns)

iframes <- lapply(fns, function(fn) 
  tags$iframe(
    src = paste0("file:///", fn), 
    style="display:block", 
    height="300", width="1200"
  )  
)
tags$html(
  tags$body(
    iframes
  )
) %>% 
  save_html(tf<<-tempfile(fileext = ".html"))
shell.exec(tf)

enter image description here

...