2021-01-01から1年間の記事一覧

行列を1行ずつリストに変換する

R

行列を1行ずつリストに変換したいという非常にニッチなニーズがあり、少し苦労したのでコードをメモ。 lapply(seq_len(nrow(mat)), function(i) mat[i,])

RMSTの算出

生存時間分析でRMSTを出したい。 こちらではsurvRM2パッケージを使うと良いとある。 nshi.jp survRM2パッケージのvignetteはこちら。 https://cran.r-project.org/web/packages/survRM2/vignettes/survRM2-vignette3-2.html こんな感じでRMSTを算出してくれ…

IPW+Cox回帰

R

ATEとしてハザード比を求める必要があったので、IPWを使った。 ダミーデータで備忘録を残しておく。 library(survminer) library(survival) library(cobalt) library(tidyverse) # データの準備 diabetic_mod <- diabetic %>% filter(eye == "left") %>% mut…

メモリに乗らないデータを読み込むパッケージの備忘録

R

メモリに乗らないデータをRでどう処理するかという問題は定期的に話題になる。 そのたびに「DBにつっこんでSQLで処理するじゃろjk」「せっかくだから俺はawkを使うぜ」「私のメモリは64GBです」などと喧々諤々しており既視感にとらわれるのだが、我々が古い…

timezoneだけを変換する場合はforce_tzで時刻も変換する場合はwith_tz

R

Rのlubridateパッケージにおけるtimezone変換をいつも忘れてヘルプを見ているのでメモ。 timezoneに合わせて時刻も変換したい場合はwith_tz、 timezoneだけを置き換えたい場合はforce_tz 。 library(lubridate) > (tmp <- Sys.time()) [1] "2021-04-23 10:54…

rowSumsはrowwise+acrossで代替する

特定の条件のもとカウント回数を算出したいときは以下のようにやる。 iris %>% rowwise() %>% mutate(hoge = sum(across(Sepal.Length:Sepal.Width) >= 1))