write.csvでgsubのエラー

先日Rを触っていたら次のようなエラーが出た(という報告を受けた)。

Error in gsub("\"", qstring, col.names, fixed = TRUE) :
  input string 2 is invalid in this locale

状況としてはPostgreSQLのデータをdplyrでmutateしてwrite.csvに渡す際に発生していた。

発生したのはWindows環境で、macでは再現せず、Windowsでもなかなか再現しないので困っていたが、原因に見当がついたのでメモっておく。

続きを読む

Withings APIを使ってRでWithingsのデータを取得する

普段Withingsの体重計(Withings Body Cardio)と睡眠計(Withings Sleep)を使っているが、このデータはAPIを利用して取得することができる。

Rを使って体重計のデータを取得するところまでやってみたので手順を記しておく。

続きを読む

RからBigQueryに接続する

概要

RからBigQueryに接続する方法としては大きく2種類ある。

  1. odbcパッケージおよびODBCドライバを使用する方法
  2. bigrqueryパッケージを使用する方法

RStudioのドキュメント(Google BigQuery)を読みながら両方試してみたので手順をメモっておく。ちなみに2の方が使い勝手が良い。

続きを読む

ggplot2で離散スケールの一部の色だけ変更したい

データセットmtcarsをfactorにしたcarbで色分けしてプロットするため、次のようなコードを書いたとする。

library(ggplot2)
ggplot(mtcars, aes(x = hp, y = qsec, colour = factor(carb))) +
  geom_point()

結果はこうなる。

f:id:Rion778:20210824124507p:plain

ここで、carb == 3の場合のみ色を黒色にしたいとする。どうするべきか?

続きを読む

Google データポータルでヒストグラムなどの標準的でないグラフを描く(Vega/Vega-Lite)

データポータルの限界

Googleデータポータル*1はSpreadsheetやGoogle アナリティクス等の様々なデータソースと接続して気軽に表・グラフを含むレポートを作成できる強力なツールだ。しかし、データポータルに標準で用意されていない可視化手法を実現しようとするととたんに困難にぶち当たる。

例えばデータポータルではヒストグラムを作成できない。いやそんなまさかという感じだができないものはできない。

箱ひげ図もダメだし、棒グラフにエラーバーもつけられないし、ヒートマップも描けないし、色と形の両方に変数を割り当てた散布図も描けないし…

とまあできないことを並べていくとキリがない。

しかしデータポータルはできる範囲のことをやるだけなら手軽だ。特にデータの探索機能は優れている。いろいろな条件でデータを絞り込みながら、簡単な棒グラフや折れ線グラフ、データテーブルを眺める。それで満足すべきではないのか…?

だがやはりヒストグラムくらいは作りたい。そうでなければ日常生活に支障がある。できればもっと複雑な可視化もしたい…

*1:どういう経緯か不明だが日本語以外では相変わらずData Studioという名称が使われているようで、Google Data Studioだとか#datastudioなどのキーワードを使わないと日本語以外のリソースが見つけづらい。

続きを読む