Rで解析:パッケージのスナップショット!「checkpoint」パッケージ

Rの解析に役に立つ記事

パッケージの紹介時には問題なく動作するのに、しばらく経つと依存パッケージが更新し動かない。そんな問い合わせを受けることがあります。問い合わせるのが面倒でパッケージの使用を諦めていた方にオススメです。

問題を起こしやすい「twitteR」パッケージを例に紹介します。最新バージョンの1世代前1.1.8です。

本パッケージはR商業化で成功している「Revolution Analitics社」が運営している、checkpoint-serverのデータを利用します。パッケージのスナップショットは2014年9月17日以降を利用できます。

参考までに、Revolution Analitics社はRを拡張し、マルチスレッド、ビックデータ解析に向いたRevolution Rをリリースしています。なお、オープンソース版もあります。

Revolution Analitics
http://www.revolutionanalytics.com/
https://mran.revolutionanalytics.com/
日本語サイト
http://www.r-analytics.jp/

パッケージのバージョンは1.0.2。実行コマンドはR version 4.2.2で確認しています。

スポンサーリンク
スポンサーリンク

パッケージのインストール

下記コマンドを実行してください。

#パッケージのインストール
install.packages("checkpoint")

実行コマンド

詳細はコメント、パッケージヘルプを確認してください。checkpointコマンドで利用する日は、記事公開日などを利用ください。

#パッケージの読み込み
library("checkpoint")

#プロジェクトの保存場所を指定
library("tcltk")
example_project <- paste0(paste(as.character(
  tkchooseDirectory(title = "保存場所を選択"), sep = "", collapse ="")),
  "/", Sys.Date())
#フォルダを作成
dir.create(example_project, recursive = TRUE)
#作成したフォルダを作業フォルダにする
setwd(example_project)
#ディフォルトのパッケージライブラリのパスを取得
oldwd <- .libPaths()

#プロジェクトに追加するパッケージを指定
#"library(パッケージ名)"で記述していきます
#例:cat("library(パッケージ1)", "library(パッケージ2)", 
#sep = "\n", file = "checkpoint_example_code.R")
#紹介コマンドはtwitteRの例です
cat("library(twitteR)",
    sep = "\n", file = "checkpoint_example_code.R")

#2014/9/17以降の特定の日を指定して
#その日のパッケージを導入:checkpointコマンド
#コマンドを実行するとフォルダを作成するか聞かれます"y"を入力してください
#日はYYYY-MM-DDで入力
#twitteRVer1.1.8を紹介した日を指定
checkpoint("2015-06-09", checkpointLocation = example_project)

###試しにtwitteRを実行#####
#ライブラリの読み込み
library("twitteR")
#情報の入力
consumerKey <- "Consumer Key (API Key)を入力"
consumerSecret <- "Consumer Secret (API Secret)を入力"
accessToken <- "Access Tokenを入力"
accessSecret <- "Access Token Secretを入力"

#処理の準備
setup_twitter_oauth(consumerKey, consumerSecret, accessToken, accessSecret)
[1] "Using direct authentication"
Use a local file to cache OAuth access credentials between R sessions?
  1: Yes
2: No

Selection: 1
Adding .httr-oauth to .gitignore

#タイムラインを取得
userTimeline(user = "KaradaGood", n = 100)
[[1]]
[1] "KaradaGood: 2015/09/15 公開\nRでお遊び:シャーロット第12話予告編「約束」の感想とカラーパレット http://t.co/xqSxXCGwkA"

[[2]]
[1] "KaradaGood: 2015/09/15 公開\nRで解析:視認性の高いカラーパレットの1つです。「viridis」パッケージの紹介 http://t.co/EQm0gP08Qc"
#以下省略
########

#パッケージライブラリのパスを取得
GetLibPathes <- .libPaths()
#参考_取得したパッケージライブラリを使用する場合は
#.libPaths(GetLibPathesのライブラリを指定)

#リンクの解除
unlink(example_project)

#ディフォルトのライブラリに戻す
.libPaths(oldwd)

実行環境

twitteRを動かすのに最低限のパッケージのみライブラリにインストールされています。

スクリーンショット 2015-09-16 6.29.20

少しでも、あなたの解析が楽になりますように!!

タイトルとURLをコピーしました