Google Colaboratoryの環境上でRを動かすことができることについては、一般にも情報が広まりつつあると思う。
そこで、これにsfパッケージやspdepパッケージをいれてshpファイルなどを利用したいと思ったが、何故か通常のinstall.packagesを実行すると、次のようなエラーメッセージを返されてうまく行かない。
“installation of package ‘units’ had non-zero exit status”
どうも、unitsパッケージのインストールが上手く行かない結果、このエラーが返されるようなのだが、色々試して(直接unitsパッケージの中身をlibフォルダに追加するなど)みてもうまくいかない。
結論からいうと、次の形でsystemコマンドから直接ライブラリを書き込ませることでinstall.packagesのエラーに対応できた。
system('sudo add-apt-repository ppa:ubuntugis/ubuntugis-unstable')
system('sudo apt-get update')
system('sudo apt-get install libudunits2-dev libgdal-dev libgeos-dev libproj-dev')
install.packages('sf')
install.packages("spdep")
library(sf)
library(tidyverse)
library(spdep)
あとはなにか、適当なshpファイルを読み込ませて、アウトプットさせて図として保存してみる。
map <- read_sf("map.shp")
plot(st_geometry(map))
geo <-ggplot(map)+
geom_sf(aes(fill=v1))
ggsave(file="geo.png", plot=geo)