Markdown文档中的get_map

时间:2017-03-13 03:53:03

标签: r r-markdown ggmap

以下代码

map<-get_map(location=params$chosenState, zoom=6,maptype='hybrid',source="google")
data<-sightings[sightings$State==params$chosenState, ]
ggmap(map, base_layer=ggplot(aes(x=lng,y=lat),data=data)) +geom_point(color="red",alpha=0.3)

在控制台上运行得很好,只要我设置了一个名为params的数据帧并将我的数据读入一个名为目标的数据帧。当params $ chosenState为“OH”时,它会生成此图。

enter image description here

但是,当我将所有内容都移到Markdown文档中时

---
title: "UFOs"
output: html_document
params:
  chosenState: "OH"
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)
library(ggmap)
library(ggplot2)
sightings<- read.csv("UFOs_coord.csv",header=TRUE)
UFOPlot<-function(){
  map<-get_map(location=params$chosenState, zoom = 6,maptype='hybrid',source="google")
  data<-sightings[sightings$State==params$chosenState, ]
  ggmap(map, base_layer=ggplot(aes(x=lng,y=lat),data=data))
}
```

## UFO Sightings

Below is the locations of UFO sightings in  ``r params$chosenState``
```{r}
UFOPlot()
```

然后去编织它,我收到此错误消息

  

if(is.waive(data)|| empty(data))返回时出错(cbind(data,PANEL =   整数(0))):缺少需要TRUE / FALSE的值调用:    ... lapply - &gt;乐趣 - &gt; - &GT; f - &gt; - &GT; ˚F

我想知道在Markdown中使用ggmap没有什么基本的东西我错过了吗?这是我第一次尝试这样做。

这是数据帧数据的开始

     Date...Time Country          City State    Shape      lat       lng
9   12/19/16 18:30     USA Huber Heights    OH Cylinder 39.85902 -84.11136
21  12/18/16 19:00     USA     Lancaster    OH    Light 39.71368 -82.59933
321 11/18/16 23:30     USA      Columbus    OH Cylinder 39.96226 -83.00071
326 11/18/16 19:15     USA   Stone Creek    OH Triangle 40.39729 -81.56206
327 11/18/16 18:30     USA    Carrollton    OH   Circle 40.57284 -81.08565
336 11/17/16 21:30     USA        Athens    OH    Light 39.32924 -82.10126

更新:

也许我的逻辑下标出了问题? dplyr和Dhiraj建议的ggmap调用似乎可以解决问题。这个文件编得很好

---
title: "UFOs"
output: html_document
params:
  chosenState: "OH"
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE, message= FALSE, warning=FALSE)
library(ggmap)
library(ggplot2)
library(dplyr)
sightings<- read.csv("UFOs_coord.csv",header=TRUE)
UFOPlot<-function(){
  map<-get_map(location=params$chosenState, zoom = 6,maptype='hybrid',source="google")
  data <- sightings %>% select(-Summary, -Shape) %>% filter(State==params$chosenState)
  ggmap(map) + geom_point(data=data, aes(x=lng,y=lat), color="red", alpha=0.3)

}
```
## UFO Sightings

Below is the locations of UFO sightings in  ``r params$chosenState``
```{r}
UFOPlot()
```

1 个答案:

答案 0 :(得分:0)

我在rmarkdown文件中的代码块中尝试了以下操作,它似乎工作正常:

{{1}}