surgのブログ

日々のネタ忘備録。勉強用。R初心者。切ったり縫ったりする人。

Bar chartのannotationはgeom_text()か、ggtext::geom_bar_text()か

どっちがいいかはまあお好みですかね。仕上がりを見て。

hoge %>% 
  ggplot(aes(x=huga, y=proportion, label=percent)) +
  geom_bar(stat = "identity", fill="blue") + 
  ggfittext::geom_bar_text(fontface='bold', size=14)

もしくは

hoge %>% 
  ggplot(aes(x=huga, y=proportion, label=percent)) +
  geom_bar(stat = "identity", fill="blue") + 
  geom_text(hjust=-0.1, fontface="bold", size=5)

ggplotで保存した図を2x2とかのgridにしてそれをsvgで保存したい時

何年振りやねん。しかも、2019年の投稿はコロナ前の欧州。

さて。

作った図を2x2とかのgridにしてsvgに保存したい時。 (生存曲線はまた別です)

gridExtra::grid.arrange(a, b, c, d, nrow=2) -> hoge

でいったんhogeに保存しておいて、そこからgrid.draw()を使って

svglite::svglite("hoge.svg")
grid::grid.draw(hoge)
dev.off()

で保存したらいけます。

飛行機が遅延したらビールを飲もう

先日の欧州出張の際、BarcelonaからAmsterdamの飛行機が盛大に遅延したので、日本行きのKLMに乗り継ぎが出来ず、急遽、FinnairでHelsinkiを経由して8時間遅れで日本に戻ることになった。

Kiosk端末でチケットも手に入れて、Amsterdamでのんびりする時間は2時間ほど。KLMが10 Euroのバウチャーをくれたので、カフェでHeineken飲みつつ、ライ麦パンサンドを食べる。徐々に店内が混んできたところで「ここ座ってよいか?」とおじさま。「どーぞどーぞ」と私。ビールを飲みつつ世間話をする。おじさまはフィンランドの大学関係者で、Computer Scienceがご専門とのことであった。Healthcareのデータなんかも扱っていて、Healthcareシステムの実装をsimulationしたりしているらしい。拙者が研究している領域との接点も多少はありそうな雰囲気であった。臨床に携わる人と、コンピューターサイエンス側の人とで見地は違うだろうと思いつつも、それぞれの見地から具体的にdiscussionしたら面白いだろうとも思った。FinlandのHealthcare systemと日本のシステムは、対象とする疾患も人口分布も土地も風習も違うので、彼らがFinlandでやっているoptimizationを日本のそれに外挿はできないだろうけど、やり方のframeworkには興味がわく。

結局、Amsterdam⇒Helsinkiの機内では席が離れ離れなので、私は勝手にPC開いて仕事をしてたのですが、降機すると待っていてくれて、少しお話をして別れた。私は国際線へ、彼は国内線の乗り継ぎへ。

たまには遅延もいいもんですね。

荷物は当然のように乗り継げなかったので、数日遅れで自宅に届きました。

Linux Mintを載せたLet's noteで当初動かなかった音声と輝度をfixする

中古で2万円台後半のLet's note CF-NX2を解析用マシンとして使い始めてはや2年。SSD換装してメモリも12GBに増やしてLinux Mintを入れて使っています。Windowsも使いますが、正直なところ

  • Powerpointが使えない(Google documentで代用できる?)
  • EndnoteのLinux版がない(Webでもいいけど)
  • できればEvernoteも欲しい(Webでもいいけど)

ということ以外はあんまりLinuxで困ることはなくて、むしろメインマシンにしたいと思ったりします。コスパを考えると秀逸で、SSDとメモリと本体の値段を合わせてもWindows機の4分の1程度で済んでしまうのですが、執筆のことを考えると長期出張の時には上記に記した理由だけでWindows機だけを持ち歩く羽目になります。Winでも解析が出来ないわけではない。ダブルブートにすればいいんだろうけど、大昔にやろうとしてWindowsが立ち上がらなくなったトラウマを引きずっています。

で、Linux Mintをinstallしてからずっと画面の輝度が高いことをどうやって直すか、ヘッドフォン出力では音楽が聴けるのに、スピーカーから音が鳴らない、というのも直したくて、まあでも黒画面だとあんまり困らなかったし、音楽もしょせんLet's noteのスピーカーで鳴らしたところでしょぼいし、ということで放置していましたが、最近やっと直しました。2年越し。

忘備録として記します。

輝度の設定

Grubをいじるといいようです。

sudo gedit /etc/default/grub

でエディタを開いて

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
となっているところの " " 内を
"quiet splash acpi_backlight=vendor acpi_osi="
と書き換えて保存した後に

sudo update-grub

Grubをアップデートして

reboot

で再起動したら輝度がFn+F1/F2で調整できるようになっています。

音声について

sudo alsactl init

で直りました。どうやら再認識させてくれるみたいです。

Let's noteとLinuxの相性は結構いいと思うんですが、次に何かいじるときは、Thinkpadに浮気してもいいかなと思ったりもします。

メタ疫学っていったい

あんまりよくわかってないことを調べてとりあえず記すシリーズ。
間違っていたらすいません(直すかもね)。

www.ncbi.nlm.nih.gov

そもそも疫学の定義すら怪しいのに、
メタ疫学ってなんですか、ということなんですが、
上記文献によると、

  • もともとは、systematic review(SR)の方法論的な限界を考えて生み出された概念
  • メタ疫学は統計学的方法論なところから、Evidence-practice gapを埋める方向へシフト
  • メタ疫学は、①今までのSRの潜在的なバイアスをコントロールすること、②Evidence-based guidelineを作るために適切なエビデンスをdrawすることに興味がある
  • 最近はネットワークメタ疫学なんてものもあって、普通のメタ疫学の限界を克服するものとして提唱されている
  • メタ疫学研究にもCONSORTのような報告基準が必要ですね

みたいな話。

歴史的には1997年にはmeta-epidemiologyという言葉は提唱されていたらしい。古典的な疫学はその研究対象が個人であるのに対して、メタ疫学は、その対象がペーパーである、ということです。

途中で引用されていたこのスピーチにでーんと書いてあります。

https://www.oarsijournal.com/article/S1063-4584(10)00293-1/abstract

で、報告する際のガイドライン的なものも2017年には出版されてるみたいです。

www.ncbi.nlm.nih.gov

はい忘備録。

欠測のあるデータのsubsetをする時

foo <- hoge[hoge$huga=="1",]

みたいなコードでsubsetすると、huga列のNAも同時にサブセットされる。 NAを除外してsubsetしたいなら、

foo <- filter(hoge, huga=="1")

で書くべし。 最初に上のようなsubsetをなんとなく覚えてしまったので、備忘録として。