R, Python, DB 備忘録

データベースとか、jupyter(Python)、Rとか色々

R

Rでは(まだ)parquetファイルが読み込めない

PythonでのDataFrameの保存方法としてCSVは卒業してparquet+zstdにしようと思っているのですが、どうやら日本語環境のWindowsだとRで読み込めない模様 Rのarrowパッケージのread_parquetでparquet形式ファイルは読み込めるはずですが、フリーズしてしまいま…

データ操作まとめ(R dplyrとPython pandasで)

irisデータセットを使ってRとPythonのデータフレームの操作方法の比較 バージョン 準備 R Python (列の)選択 R Python 抽出(filter) R Python カテゴリ化 R Python 集計 R Python 集計値を新規カラムとして追加 R Python バージョン R R 4.0.2 dplyr 1.0.1 P…

MonetDB+R:入力文字列 5 はこのロケールでは不適切です

内容 ポピュラーなDBは使っているOSに合わせたエンコーディングで結果を返してくれるがMonetDBはUTF-8固定 なので、RODBCをオプションなしで使うと文字化けが発生する。 Warning message in FUN(X[[i]], ...): " 入力文字列 5 はこのロケールでは不適切です …

クロス集計表

R

Rでずっと使っているクロス集計表の話です。 3年前くらいにネットを漁ってブログを見つけ、コードを.Rprofileにコピペして使っています。 記事を書くにあたり改めてブログを拝見したら、林真広さんという「M-plusとRによる構造方程式モデリング入門」の共著…

本当に必要なグラフの描き方(ggplot2編)

R

TableauやGoogle Data Studioなど、BIツールを利用するようになって思ったこと。「もう、ggplotで目盛りの細かい調節をしたり、カラーコードを一生懸命調べたりしなくても、視覚化はこいつらに任せればいいな…」少なくとも自分にとっては、ggplotのメインの…

RとvariableInspector混ぜるな危険

jupyter notebook/Lab の便利な拡張variableInspectorは、jupyterでR環境を使う人は入れてはいけない variableInspectorはRにも対応しているが、そのプロセスでglobal環境にある全てのオブジェクトを読むところがあるらしく、巨大なdata.frameが存在するとそ…

疎行列同士の最大最小

R

疎行列(SparseMatrix) 数百万個の各インプットに対して、数万個のキーワードの有無をフラグ化したい インプットを行、キーワードを列にTrue/Falseを値として持つ行列とみなせる。 しかし、普通の行列(密行列)ではメモリ不足&重い 疎行列を使うべき アソシ…

data.table

R

普段はデータの加工にdata.frame(dplyr, tidyr等)の関数を使うのだが処理速度の観点からdata.tableの構文を使いたいこともあり 基本 dt[行フィルタリング, 列操作, Grouping] 列操作において x:= の構文を用いると、その結果を返すのでなく、元のdata.table…

Rの環境設定

R

Rの環境変数についての記事があまりなく、備忘 最近はRenvなども出ているが、個人的にはRはやっぱり実験的環境 プロダクトにするなら、Python+pipenvの方が向いてる気がする。 参考 amano41.hatenablog.jp

factor

R

Rのfactor型は難しい。 なのでstringsAsFactors=Fがデフォルトですが、メリデメを整理してみた。 メリット summary()したときに、カテゴリ別の件数を表示してくれる。 ggplotしたときに、データが存在しないカテゴリに関しても描画してくれる。 sort順の指定…

jupyterで日本語

jupyter環境では特に設定しないとグラフの日本語(軸ラベル等)が□に文字化けしてしまう。 日本語を表示する方法について整理 この設定はAnacondaを使っている場合なので純粋なPythonの場合は適宜パスを読替え Python matplotlib の設定ファイルを修正~~~\Li…

PythonとRの違い

いつもよく忘れることのメモ 整数の除算 R 除算:%/% 剰余:%% Python3 除算:// 剰余:% SQL 除算:/ (INT型の場合) 剰余:mod λ式 R ~ f(.) Python lambda x: f(x)

特定の文字を入力するとIRkernelがフリーズする

現象 日本語Windows、つまり文字コードShift-JIS(CP932)環境下のjupyter+Rで特定の文字を表示しようとするとフリーズする。 Windows(Shift-JIS)+jupyter+R というのがミソ。Pythonなら発生しないし、IRkernel+Linuxでも発生しない。 具体的にはSJISで**5Cと…