小编JoF*_*wld的帖子

使用Google地图在R中进行地理编码

我已经尝试运行代码,通过谷歌地图对R中的位置进行地理编码,以及XML来自此博客文章的软件包:http: //www.r-chart.com/2010/07/maps-geocoding-and-r-user-conference html的

这是他的功能:

getDocNodeVal=function(doc, path){
  sapply(getNodeSet(doc, path), function(el) xmlValue(el))
}

gGeoCode=function(str){
  library(XML)
  u=paste('http://maps.google.com/maps/api/geocode/xml?sensor=false&address=',str)
  doc = xmlTreeParse(u, useInternal=TRUE)
  str=gsub(' ','%20',str)
  lng=getDocNodeVal(doc, "/GeocodeResponse/result/geometry/location/lat")
  lat=getDocNodeVal(doc, "/GeocodeResponse/result/geometry/location/lng")
  c(lat,lng)
}
Run Code Online (Sandbox Code Playgroud)

当我运行时gGeoCode(),我收到以下错误:

> gGeoCode("Philadelphia, PA")
failed to load external entity "http%3A//maps.google.com/maps/api/geocode/xml%3Fsensor=false&address=%20Philadelphia,%20PA"
Error: 1: failed to load external entity "http%3A//maps.google.com/maps/api/geocode/xml%3Fsensor=false&address=%20Philadelphia,%20PA"
Run Code Online (Sandbox Code Playgroud)

如果我只是粘贴到浏览器中的API网址Philadelphia, PA附加到最后,就像传递给的字符串xmlParseTree一样,我下载时看到的结果看起来像合法的xml.

这是代码的问题,还是我没有配置某些东西?

google-maps geocoding r

25
推荐指数
2
解决办法
2万
查看次数

改变点的边缘方向

我试图用点画出一个非常简单的图表.

digraph untitled
    {
    rankdir = LR;
    {rank=same; S; A}
    B -> A;
    B -> S;
    A -> A;
    S -> S;
    A -> S ;
    S -> A;
    A -> T;
    S -> T;
}
Run Code Online (Sandbox Code Playgroud)

我得到的结果是

在此输入图像描述

我真的要改变边缘S -> S,但我还想改变箭头的方向,使它们从左向右循环.

dot graphviz

17
推荐指数
1
解决办法
2万
查看次数

匹配较大向量中的序列

我想要一个函数,它返回匹配向量子序列的初始指标.例如:

y <- c("a","a","a","b","c")

multi_match(c("a","a"), y)
# [1] 1 2

multi_match(c("a","b"), y)
# [1] 3
Run Code Online (Sandbox Code Playgroud)

我有一个粗略的实现,但我觉得我必须重新发明轮子,它有点笨重.有没有更好的方法来实现它,或者是否存在具有类似功能的预先存在的功能?

multi_match <- function(x, table){
    # returns initial indicies of all substrings in table which match x
    if(length(table) < length(x)){
        return(NA)
    }else{
        check_mat <- matrix(nrow = length(x), ncol = length(table))
        for(i in 1:length(x)){
            check_mat[i,] <- table %in% x[i]
        }
        out <- vector(length = length(table))
        for(i in 1:(length(table)-(length(x)-1))){
            check <- vector(length=length(x))
            for(j in 1:length(x)){
                check[j] <- check_mat[j,(i+(j-1))]
            }
            out[i] <- all(check)
        }
        if(length(which(out))==0){
            return(NA)
        }else{
            return(which(out)) …
Run Code Online (Sandbox Code Playgroud)

r

12
推荐指数
2
解决办法
2789
查看次数

我无法通过反应输入获得ggvis标度

我正在尝试创建一个闪亮的应用程序,允许用户选择某些组来绘制ggvis图.我遇到的问题是,如果我将反应数据映射到点的属性(如点填充,形状等),则每次用户更新组时,比例都会重置.因此,组标识到填充颜色的映射不会保持不变.我尝试通过硬编码组ID来修复此问题以填充反应元素中的颜色,但是当应用程序开始加载时,我开始难以解释错误.

这是我第一次尝试的代码:

ui.R

#ui.R
library(shiny)
library(ggvis)

shinyUI(fluidPage(

  # Application title
  titlePanel("Old Faithful Geyser Data"),

  # Sidebar with a slider input for number of bins
  sidebarLayout(
    sidebarPanel(
      checkboxGroupInput("gear", label = "Gears", choices = c("3","4","5")) 
    ),

    # Show a plot of the generated distribution
    mainPanel(
      uiOutput("ggvis_ui"),
      ggvisOutput("ggvis"),
      textOutput("jawn"))
  )
))
Run Code Online (Sandbox Code Playgroud)

server.R

#server.R
library(shiny)
library(ggvis)
library(dplyr)

shinyServer(function(input, output) {

    selected <- reactive(input$gear)

    selectedData <- reactive({
      mtcars %>%
        filter(gear %in% selected())%>%
        mutate(gear = as.character(gear))
    })

    colorRange <- reactive({
      c(`3` = "red", `4` = "blue", …
Run Code Online (Sandbox Code Playgroud)

r shiny ggvis

3
推荐指数
1
解决办法
605
查看次数

删除ggplot2 + scale中的前导零

对于期刊提交,我被告知我的数字不能有前导零.例如,采取此图:

df <- data.frame(x = -10:10, y = (-10:10)/10)

ggplot(df, aes(x, y))+
  geom_point()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

y轴具有标签

-1.0  -0.5   0.0   0.5   1.0
Run Code Online (Sandbox Code Playgroud)

我需要制作这些标签:

-1.0   -.5   0      .5    1.0
Run Code Online (Sandbox Code Playgroud)

我想我将不得不使用format_format()从鳞包,但我还没有看到的各种文档中什么format,formatCsprintf会产生必要的标签.

r ggplot2

2
推荐指数
1
解决办法
1028
查看次数

标签 统计

r ×4

dot ×1

geocoding ×1

ggplot2 ×1

ggvis ×1

google-maps ×1

graphviz ×1

shiny ×1