2015-12-18 11 views
5

Ho una lista di Rpassa dati R come input per html?

list[[1]] 
    [1] 5720 JACKSONBURG RD,TRENTON,OH,45067 
    [2] 1282 OAKMONT AVE,HAMILTON,OH,45013 
    [3] 1001 CHASE AVE,HAMILTON,OH,45015 
    [4] 2266 TWIN OAKS DR,LEBANON,OH,45036 

e ho creato Google Map in javascript con HTML. Io uso all'indirizzo sopra come input (manualmente) per il valore in HTML:

<select multiple id="waypoints"> 

     <option value="5720 JACKSONBURG RD,TRENTON,OH">1</option> 
     <option value="1282 OAKMONT AVE,HAMILTON,OH,45013 ">2</option> 
     <option value="1001 CHASE AVE,HAMILTON,OH,45015">3</option> 
     <option value="2266 TWIN OAKS DR,LEBANON,OH,45036">4</option> 

C'è un modo per generare <option value="XXXXX"> sulla base dei dati R ho? Come un cappio? Sto seguendo https://developers.google.com/maps/documentation/javascript/examples/directions-waypoints

risposta

2

Se si desidera semplicemente creare l'HTML, è possibile farlo con paste(). Con i vostri dati di esempio (che si presenta come un elenco contenente un vettore)

x<-list(c("5720 JACKSONBURG RD,TRENTON,OH,45067", 
    "1282 OAKMONT AVE,HAMILTON,OH,45013", 
    "1001 CHASE AVE,HAMILTON,OH,45015", 
    "2266 TWIN OAKS DR,LEBANON,OH,45036")) 

Si può fare

paste0("<option value=\"", x[[1]], "\">",seq_along(x[[1]]),"</option>", collapse="") 
+0

Grazie. Il problema è come usare put questo output paste0 sotto e non funziona. – EskimoT

3

Una possibilità è quella di utilizzare xmlNode() dal pacchetto XML. Qui possiamo anche usarlo con lapply() nell'argomento .children per produrre i nodi figli nella stessa chiamata.

library(XML) 

xmlNode(
    "select multiple", 
    attrs = c(id = "waypoints"), 
    .children = lapply(seq_along(x[[1]]), function(i) { 
     xmlNode("option", i, attrs = c(value = x[[1]][i])) 
    }) 
) 
# <select multiple id="waypoints"> 
# <option value="5720 JACKSONBURG RD,TRENTON,OH,45067">1</option> 
# <option value="1282 OAKMONT AVE,HAMILTON,OH,45013">2</option> 
# <option value="1001 CHASE AVE,HAMILTON,OH,45015">3</option> 
# <option value="2266 TWIN OAKS DR,LEBANON,OH,45036">4</option> 
# </select multiple> 

dati:

x <- list(c("5720 JACKSONBURG RD,TRENTON,OH,45067", "1282 OAKMONT AVE,HAMILTON,OH,45013", 
"1001 CHASE AVE,HAMILTON,OH,45015", "2266 TWIN OAKS DR,LEBANON,OH,45036" 
)) 
+0

sì. come inserire in html? – EskimoT

+0

Okay @EskimoT - L'ho risolto. Cosa intendi con "insert to html"? –

+0