【问题标题】:pass R data as input to html?将R数据作为输入传递给html?
【发布时间】:2016-03-24 17:36:28
【问题描述】:

我有一个 R 列表

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  

我用 javascript 和 HTML 创建了谷歌地图。 我使用上述地址作为 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>

有没有办法生成 &lt;option value="XXXXX"&gt; 基于我拥有的R数据?像一个循环? 我关注https://developers.google.com/maps/documentation/javascript/examples/directions-waypoints

【问题讨论】:

    标签: html r google-maps-api-3


    【解决方案1】:

    一种可能性是使用 XML 包中的xmlNode()。在这里,我们还可以在 .children 参数中将其与 lapply() 一起使用,以在同一调用中生成子节点。

    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>
    

    数据:

    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"
    ))
    

    【讨论】:

    • 是的。如何插入到html中?
    • 好的@EskimoT - 我修好了。 “插入到 html”是什么意思?
    • @EskimoT - 我不知道答案。我将不得不研究它。我需要一点时间。
    • @EskimoT - 我想你想要addNode()。请参阅?addNode 的帮助文件。
    【解决方案2】:

    如果您只想构建 HTML,可以使用 paste() 来实现。使用您的示例数据(看起来像一个包含向量的列表)

    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"))
    

    你可以的

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

    【讨论】:

    • 谢谢。问题是我如何使用把这个 paste0 输出放在
    • 只需使用附加的 paste() 粘贴()该值
    • 我认为这是一个html问题,因为我不能用html运行r,所以paste0结果不能直接用作
    猜你喜欢
    • 1970-01-01
    • 2019-12-23
    • 1970-01-01
    • 1970-01-01
    • 2011-02-22
    • 2016-04-09
    • 1970-01-01
    • 2020-12-23
    • 2021-11-09
    相关资源
    最近更新 更多