我已经尝试运行代码,通过谷歌地图对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.
这是代码的问题,还是我没有配置某些东西?
我试图用点画出一个非常简单的图表.
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,但我还想改变箭头的方向,使它们从左向右循环.
我想要一个函数,它返回匹配向量子序列的初始指标.例如:
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) 我正在尝试创建一个闪亮的应用程序,允许用户选择某些组来绘制ggvis图.我遇到的问题是,如果我将反应数据映射到点的属性(如点填充,形状等),则每次用户更新组时,比例都会重置.因此,组标识到填充颜色的映射不会保持不变.我尝试通过硬编码组ID来修复此问题以填充反应元素中的颜色,但是当应用程序开始加载时,我开始难以解释错误.
这是我第一次尝试的代码:
#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
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) 对于期刊提交,我被告知我的数字不能有前导零.例如,采取此图:
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,formatC并sprintf会产生必要的标签.