Ready to get started?

Learn more about the CData JDBC Driver for Google Spreadsheets or download a free trial:

Download Now

Google Sheets Data をR で分析

CData JDBC Driver for Google Sheetsで標準的なR 関数とお好みの開発環境を使って、 Google Sheets data を分析。



Pure R スクリプトおよび 標準SQL を使って、R およびJava をインストール可能なあらゆるマシン上でGoogle Sheets data にアクセス。CData JDBC Driver for Google Sheets とRJDBC package を使って、R でリモートGoogle Sheets data を利用できます。CData Driver を使うことで、業界が認めた基準で書かれたドライバーを活用して、オープンソースでポピュラーなR 言語のデータにアクセスできます。この記事では、ドライバーを使ってGoogle Sheets にSQL クエリを実行する方法、および標準R 関数を呼び出してGoogle Sheets data をビジュアライズする方法について説明します。

R をインストール

マルチスレッドのMicrosoft R Open を実行すること、またはBLAS/LAPACK ライブラリにリンクされたオープン R を実行することによって、マルチスレッドおよびマネージドコードから利益を得られたドライバーのパフォーマンスにマッチできます。ここでは、Microsoft R Open 3.2.3 を使用します。CRAN レポジトリのJan. 1, 2016 snapshot からパッケージをインストールするために事前設定されています。このsnapshot は再現性を保証します。

RJDBC パッケージをロード

ドライバーを使うにはRJDBC パッケージをダウンロードします。RJDBC パッケージをインストールしたら、次のコードを入力してパッケージをロードします。

library(RJDBC)

JDBC データソースとしてGoogle Sheets に接続

下記の情報を使いGoogle Sheets にJDBC データソースとして接続します。

  • Driver Class:cdata.jdbc.googlesheets.GoogleSheetsDriver に設定。
  • Classpath:Driver JAR の場所を設定します。デフォルトではインストールディレクトリの[lib]サブフォルダです。

dbConnect やdbSendQuery のようなDBI 関数は、R にデータアクセスコードを書くための統一インターフェースを提供します。

driver <- JDBC(driverClass = "cdata.jdbc.googlesheets.GoogleSheetsDriver", classPath = "MyInstallationDir\lib\cdata.jdbc.googlesheets.jar", identifier.quote = "'")

これで、DBI 関数を使ってGoogle Sheets に接続しSQL クエリを実行する準備が整いました。dbConnect 関数を使ってJDBC 接続を初期化します。一般的なJDBC 接続文字列は次のとおりです。

conn <- dbConnect(driver,"Spreadsheet=MySheet;")

You can connect to a spreadsheet by providing authentication to Google and then setting the Spreadsheet connection property to the name or feed link of the spreadsheet. If you want to view a list of information about the spreadsheets in your Google Drive, execute a query to the Spreadsheets view after you authenticate.

ClientLogin (username/password authentication) has been officially deprecated since April 20, 2012 and is now no longer available. Instead, use the OAuth 2.0 authentication standard. To access Google APIs on behalf on individual users, you can use the embedded credentials or you can register your own OAuth app.

OAuth also enables you to use a service account to connect on behalf of users in a Google Apps domain. To authenticate with a service account, you will need to register an application to obtain the OAuth JWT values.

See the Getting Started chapter in the help documentation to connect to Google Sheets from different types of accounts: Google accounts, Google Apps accounts, and accounts using two-step verification.

スキーマ Discovery

ドライバーはGoogle Sheets API をリレーショナルデータベース、ビュー、ストアドプロシージャとしてモデルします。次のコードを使ってテーブルリストを検出します。

dbListTables(conn)

SQL クエリの実行

dbGetQuery 関数を使ってGoogle Sheets API がサポートするすべてのSQL クエリを実行できます:

orders <- dbGetQuery(conn,"SELECT Shipcountry, SUM(OrderPrice) FROM Orders GROUP BY Shipcountry")

次のコマンドを使って、結果を[data viewer]ウィンドウで見ることができます。

View(orders)

Google Sheets Data をプロット

CRAN レポジトリで利用可能なあらゆるデータ初期化パッケージを使ってGoogle Sheets data を分析する準備が整いました。ビルトインバーのplot 関数を使って簡単なバーを作成できます。

par(las=2,ps=10,mar=c(5,15,4,2)) barplot(orders$OrderPrice, main="Google Sheets Orders", names.arg = orders$Shipcountry, horiz=TRUE)
 
 
ダウンロード