回遊データをラインポリゴン化する方法

GIS R

# 回遊データをラインポリゴン化 kaiyuu_line_polygons <- postings_with_kaiyuu_id %>% sf::st_as_sf( coords = c('longitude', 'latitude') ) %>% group_by( # group_by + summariseをすると個々の投稿座標がMULTIPOINTでまとまる kaiyuu_id ) %>% summari…

共通の属性をもつポイントデータ同士を1つのラインポリゴンに統合する方法

GIS R

postings_with_kaiyuu_id %>% sf::st_as_sf( coords = c('longitude', 'latitude') ) %>% group_by( # group_by + summariseをすると個々の投稿座標がMULTIPOINTでまとまる kaiyuu_id ) %>% summarise( dummy = n(), do_union = F # 元のデータの順番でMULTI…

教育は遺伝に勝てるか?

https://www.amazon.co.jp/%E6%95%99%E8%82%B2%E3%81%AF%E9%81%BA%E4%BC%9D%E3%81%AB%E5%8B%9D%E3%81%A6%E3%82%8B%E3%81%8B%EF%BC%9F-%E6%9C%9D%E6%97%A5%E6%96%B0%E6%9B%B8-%E5%AE%89%E8%97%A4-%E5%AF%BF%E5%BA%B7/dp/4022952164/ref=sr_1_1?__mk_ja_JP=%E3…

サイコパス

サイコパス (文春新書) | 中野 信子 |本 | 通販 | Amazon よく売れてたから読んでみた。 おもしろかった豆知識 サイコパスは高IQとは限らない。健常者とだいたい同じIQ。 サイコパスは高ストレス環境でも心拍数が一定 サイコパスは目から相手の感情を読み取…

システムと予約済みの休止ファイルの削除方法

sologaku.com

ggplotでNSE処理

for (var in vars) { # var_1 <- rlang::enquo(var) p <- ggplot(data = target_gridcells_with_landcover) + geom_sf(aes(fill = !!sym(var))) ggsave( p, filename = str_c( 'DIR', var, '.jpg' ), width = 8, height = 8, dpi = 300 ) }

Spyderについて

pythonの総合開発環境の1つ Rstudioライクな見た目でGood 【レイアウト】 Rstudioっぽいレイアウト。View → windows layout → Rstudio レイアウト移動。レイアウトの右上の三本線を押して、Unrock Positionすればよい 左に「コード」、右上に「コンソール」…

pulpについて

pythonにおける数理最適化の有名なソルバー 混合整数計画法を解くことができる 混合整数計画法のなかに線形計画法や整数計画法が含まれる つまり求めたい変数が実数だったり整数だったりする数理最適化問題と思えばよいだろう PuLP の基本的な使い方 import …

数理最適化について

ある目的関数を最大化または最小化するような解(パラメタ)を求めたい 数理最適化がそんなとき使える 複数の制約が課せられた条件下でのパラメタも求められる 数理最適化すげえ 例題 材料AとBから合成できる化学製品XとYをたくさん作成したい。 Xを1kg作る…

gitで直前のコミットを取り消したいとき

git

ゴミみたいなコミットメッセージでコミットしてもうた時 もうちょっと変更を加えてからコミットしたかった時 git reset --soft HEAD^ --soft :エディタ上のスクリプトの内容はそのままにして、コミットのみ取り消したい場合に使用 HEAD^:直前のコミットを…

gitで直前のコミットを取り消したいとき

ゴミみたいなコミットメッセージでコミットしてもうた時 もうちょっと変更を加えてからコミットしたかった時 git reset --soft HEAD^ --soft :エディタ上のスクリプトの内容はそのままにして、コミットのみ取り消したい場合に使用 参考:qiita.com/shuntaro…

ggplotでy軸名を折り返したいとき

テストデータ df <- tibble( label_grp = c("short", "Medium label", "a very long axis label that needs to be folded"), some_value = c(13633,20824,42000) ) まずは普通にggplot このままだと折り返してくれない ggplot(data = df) + geom_col(aes(y =…

日本地図をさくっと用意してggplotしたいとき

# 日本地図 japan <- sf::st_read( 'https://oku.edu.mie-u.ac.jp/~okumura/stat/data/japan.geojson', stringsAsFactors = F )

googleドライブでファイルを深階層のフォルダに移動させたいとき

googleドライブでファイルを移動させる方法 移動させたいファイルを右クリック→「指定の場所へ移動」→移動させたいフォルダを探す→移動 ただし、移動先のフォルダに深い階層のなかにあるとき、移動先のフォルダを探すのはしんどい スター機能を使うと便利 移…

Rstudioでjobsを停止したときのTEMPフォルダのゴミ掃除方法

タスクマネージャでjobsを停止させると途中の演算結果がTEMPフォルダに保存されっぱになる jobsの停止を何度もやっているとそのうちTEMPフォルダがパンパンになる なのでTEMPフォルダのお掃除が定期的に必要 TEMPフォルダの中身は基本捨てても問題ない TEMP…

japanmeshでメッシュコードから緯度経度を出す

GIS R

japanmesh でメッシュコードから緯度経度をだしたい その作業を tibble でやりたいとき data %>% mutate( latitude = map_dbl( .x = mesh_code, .f = ~ {jpgrid::grid_to_coords(jpgrid::grid_auto(.x))[[2]]} ), longitude = map_dbl( .x = mesh_code, .f =…

ポアソン過程について

無限長の時間軸を用意 サンプルサイズ n の点を時間軸上にランダム配置 時間軸を有限の長さの区間に分割し、ある区間について考える ある区間内に各点が含まれる確率を p とする 区間内の点の個数が k のとき、 k ~ Bionomial(N, p) となるので、 P(N = k) …

住所を都道府県と市区町村で切り分けたいとき

zipangu::separate_address を使うと便利 コードの例 fread('hogehoge.csv', encoding = 'UTF-8') %>% mutate(address = zipangu::separate_address(都道府県市区町村)) %>% mutate( pref = unlist(map(.x = address, .f = ~ {flatten(.x)[[1]]})), city = u…

決定木とは

データを特徴量空間上で矩形分割するモデル 分割は「ある特徴量がある値と一致するか」「ある特徴量がある値より大きいか小さい」などのルールに従って行う 分割ルール(分割対象となる特徴量と閾値の組)をどう見つけるかが大切 情報利得を目的関数とし、こ…

地理空間データのwkt形式について

地理空間データの形式として .shp 形式をよく利用してた .shp はどうも重い? wkt はオブジェクトとそのオブジェクトの頂点座標の集合を1つのデータセットとしてもつ形式 ファイルの形式そのものは .csv になる あとでちゃんと調べよう

python基礎お勉強

ライブラリ import pandas as pd import numpy as np データロード from sklearn.datasets import load_iris iris = load_iris() X = pd.DataFrame(iris.data, columns=iris.feature_names) y = pd.Series(iris.target) # X = pd.DataFrame(iris['data'], co…

vscodeの捗る設定

jupyterの捗るショートカット設定 現在のセルの実行 + 次のセルに移動(runcurrentcelladvance): ctrl + shift + enter 現在のセル実行+セルを追加(runcurrentcellandaddbelow): ctrl + enter(colaboratoryと統一) 前のセルに移動(gotoPrevCellInFil…

vscodeでコードブロックの導入

vscodeでコードブロックを使いたければ、jupyterのセルを導入すればよい # %% でコードブロックを明示するだけ # %% from sklearn import datasets # %% X, y = datasets.fetch_openml(...) # %% ... セルを導入するとエディターにセルコードLens でてくる …

mcmcを使ってベイズ推定を自作でやってみる

ベイズ推定はライブラリやstanを使えばお手軽に実行可能 お手軽すぎて中身が本当に理解できているか不安 なので自作してみた まずは準備 # 神ライブラリ pacman::p_load(tidyverse) # データの格納先 mu <- NULL lp <- NULL # パラメタ更新のステップサイズ …

googledriveパッケージについて

以下の3つの関数でこと足りる気がするのでまとめておく drive_find について ディレクトリやファイルの検索関数 検索対象の 名前 と ID を取得可能 検索範囲を拡張子やタイプで type で指定可能 document : Google Docs presentation : Google Slides spread…

交絡のコントロールについて

因果推論したいとき、交絡をいかにコントロールするかは大切 交絡のコントロールの方法はたくさんある 層別分析 多変量解析(重回帰分析など) 傾向スコア(マッチング、逆確率重みづけ、など) などなど 交絡が生じているときにコントロールしないとどうな…

pmapの特殊な仕様について

purrr::map2 でベースを作ったあと、引数をさらに増やしたいときがある map2 で扱える引数は2つまでなので、引数を増やすには purrr::pmap を使う pmap は 引数の指定はやや特殊 map2 のように .x .y …ではなく、pmap では ..1 ..2 ..3 …としなくてはならな…

列名を綺麗にしたいとき

janitor::clean_names という関数がとても便利。 列名はすべて小文字に変更 列名はすべてスネークケースに変更 列名に含まれる空白は _ に置換 列名に含まれる邪魔な文字は削除(例:ウムラウト、 @ 、 () など) 列名に含まれる % は percent に変更 列名が…

ggplotで文字列をaesに引き渡したいとき

ggplotは aes の中がNSEになっている。なので、 ggplot(data = iris) + geom_histogram(aes(x = Sepal.Length)) これは動くけど、 ggplot(data = iris) + geom_histogram(aes(x = 'Sepal.Length')) これは動かない。文字列を aes に引き渡したいときは、 aes…

Google Chromeの検索画面を中央寄せにする方法

Google Chromeの検索画面が左寄せでうっとうしい 首が痛くなるんじゃい~ 中央寄せにするための拡張機能があって便利だった。 zslec.medium.com