LoginSignup
4
5

Rによるサンプリング場所の作図方法

Posted at

 本研究室では、野生動物の糞便の採取も行っています。論文を作成する際には、サンプリング場所を図として載せることが必要になる場合もあります。
 そこで、今回はRでできるだけ見栄えよく、サンプリング場所を作図する方法を記載します。


サンプリング場所を記載したcsvファイルの作成

何かしらのサンプルを採取する場合、異なる場所・時期で行われると思います。
今回は例として適当に作成したデータを用いますが、例えば野鳥の糞便を季節ごとに採取し、鳥インフルエンザウイルスの有無を調べたデータだとしましょう。
ファイルの名前は[Map_01.csv]とします。

記載例

Season lat lng Virus
Spring 34.27007 133.9251 No
Summer 34.25747 133.9271 No
Autum 34.26700 133.9251 Yes
Winter 34.25213 133.9189 Yes
Spring 34.25343 133.9377 No

今回は適当に80か所Google Mapで位置情報を調べました。
実際のサンプリング時にはスマートフォンで位置情報を記録していくと良いでしょう。


作図の作業

作業ディレクトリをMap_01.csvがあるところに指定します。
ggplot2やjpndistrictのインストールがまだの場合は、インストールをしてください。

install.packages("ggplot2")
install.packages("remotes")
remotes::install_github("uribo/jpndistrict")
library(ggplot2)
library(jpndistrict)
kagawa=jpn_pref(37)
p=ggplot(kagawa)+geom_sf()+coord_sf()+theme_bw()
plot(p)

ここまでで下のような図ができます。
Rplot09.png
この地図にサンプリング場所をプロットしていきます。

df=read.csv("Map_01.csv")
p2=p+geom_point(aes(x=lng,y=lat, color=Season, shape=Virus), data=df, size=7)+theme(text=element_text(size=35))+scale_shape_manual(values=c(20,4))+theme(legend.position="top")+scale_color_discrete(limits=c("Spring","Summer","Autum","Winter"))+guides(color=guide_legend(order =1),shape=guide_legend(order=2))
plot(p2)

そのまま入力していくと、季節の凡例がアルファベット順になり、秋から始まってしまいます。春夏秋冬と並べ替えるためにはlimits=c()で指定する必要があります。

出来上がった図はこのようになります。
Rplot08.png

この他、Leafletを使えば、Google Mapのような地図を自作することも可能です。

Install.packages("leaflet")
library(leaflet)
pal1=colorFactor(palette = "YlOrRd", domain=df$Virus)
leaflet(df) %>% 
+     addTiles() %>%
+     addCircleMarkers(~lng, ~lat, color=~pal1(Virus), fillOpacity = 1, stroke=F)

出来上がった地図はこのようになります。

Rplot10.png

4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5