2016-01-20 16 views
1

我有一个动物服饰数据集,其中在每个位置我都捕获了几个不同物种的多个动物。我想在地图上绘制这些信息,每个点代表一个特定物种的捕获位置,每个点的大小代表该物种捕获在这个位置的许多动物。除了最后一点,我可以做所有这些,根据每个类别和位置的计数来区分点的大小。在尺寸取决于类别数量的地图上绘制点数

数据:

> test 
Species Location  Long  Lat 
1 Species1 Location4 13.179328 32.83438 
2 Species1 Location4 13.179328 32.83438 
3 Species1 Location4 13.179328 32.83438 
4 Species1 Location4 13.179328 32.83438 
5 Species1 Location4 13.179328 32.83438 
6 Species1 Location4 13.179328 32.83438 
7 Species1 Location4 13.179328 32.83438 
8 Species1 Location4 13.179328 32.83438 
9 Species1 Location4 13.179328 32.83438 
10 Species1 Location4 13.179328 32.83438 
11 Species1 Location4 13.179328 32.83438 
12 Species1 Location4 13.179328 32.83438 
13 Species1 Location4 13.179328 32.83438 
14 Species1 Location4 13.179328 32.83438 
15 Species1 Location2 13.857541 32.71680 
16 Species1 Location2 13.857541 32.71680 
17 Species1 Location2 13.857541 32.71680 
18 Species1 Location1 7.584970 33.77976 
19 Species1 Location1 7.564263 33.81079 
20 Species1 Location1 7.555380 33.79994 
21 Species2 Location1 7.542248 33.79943 
22 Species2 Location1 7.562118 33.79340 
23 Species2 Location1 7.542248 33.79943 
24 Species2 Location1 7.555380 33.79994 
25 Species2 Location1 7.542248 33.79943 
26 Species2 Location3 11.377850 33.20891 
27 Species2 Location3 11.377850 33.20891 
28 Species2 Location3 11.377850 33.20891 
29 Species2 Location3 11.377850 33.20891 
30 Species2 Location3 11.377850 33.20891 
31 Species1 Location2 13.834581 32.72319 
32 Species1 Location2 13.834581 32.72319 
33 Species1 Location2 13.834581 32.72319 
34 Species1 Location2 13.834581 32.72319 
35 Species1 Location2 13.834581 32.72319 
36 Species1 Location2 13.834581 32.72319 
37 Species1 Location2 13.834581 32.72319 
38 Species1 Location2 13.834581 32.72319 
39 Species1 Location2 13.834581 32.72319 
40 Species1 Location2 13.834581 32.72319 
41 Species1 Location2 13.834581 32.72319 
42 Species1 Location2 13.834581 32.72319 
43 Species1 Location2 13.834581 32.72319 
44 Species1 Location2 13.834581 32.72319 
45 Species1 Location2 13.834581 32.72319 
46 Species1 Location2 13.834581 32.72319 
47 Species1 Location2 13.834581 32.72319 
48 Species1 Location2 13.834581 32.72319 
49 Species1 Location2 13.834581 32.72319 
50 Species1 Location2 13.834581 32.72319 

> tapply(test$Species,test$Location,length) 
Location1 Location2 Location3 Location4 
     8  23   5  14 

标准ggmap情节:

m<-get_map(location=c(lon=10.6858397, lat=32.7996318), zoom=7, color="bw") 

ggmap(m, extent = "normal") + 
    geom_point(aes(x = Long, y = Lat, colour = Species, size = 2), data = test) 

Trapping locations on a map

我现在该如何视每个物种的许多动物在被抓获改变点的大小一个位置?

+0

只是总结你的数据集,然后绘制这个新的总结数据集 – MLavoie

+0

你是指plyr包中的summarize()吗? – yotiao

+0

是的,请参阅http://www.cookbook-r.com/Manipulating_data/Summarizing_data/ – MLavoie

回答

0

Got it!易peasy一旦你知道去哪里找;-)

与物体的测试继续:

> library(doBy) 
> tdata<-summaryBy(test~Location+Species+Long+Lat, data=test, FUN=length) 
> tdata 

    Location Species  Long  Lat test.length 
1 Location1 Species1 7.555380 33.79994   1 
2 Location1 Species1 7.564263 33.81079   1 
3 Location1 Species1 7.584970 33.77976   1 
4 Location1 Species2 7.542248 33.79943   3 
5 Location1 Species2 7.555380 33.79994   1 
6 Location1 Species2 7.562118 33.79340   1 
7 Location2 Species1 13.834581 32.72319   20 
8 Location2 Species1 13.857541 32.71680   3 
9 Location3 Species2 11.377850 33.20891   5 
10 Location4 Species1 13.179328 32.83438   14 

> ggmap(m, extent = "normal") + 
+  geom_point(aes(x = Long, y = Lat, colour = Species, size = test.length), data = data) 

Map of trapping locations where the size of each point now corresponds to the number of samples from each location

非常感谢@MLavoie。