CRAN Task View: Web Technologies and Servicesの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。

Maintainer: Scott Chamberlain, Thomas Leeper, Patrick Mair, Karthik Ram, Christopher Gandrud
Contact: scott at ropensci.org
Version: 2019-10-17
URL: https://CRAN.R-project.org/view=WebTechnologies

このタスクビューには、RとWorld Wide Webを一緒に使用するための情報が含まれています。Rの基本バージョンには、Webとやり取りするための多くのツールが付属していません。ありがたいことに、Webとやりとりするツールはますます多くなっています。このタスクビューでは、Webベースのデータと情報を取得するためのパッケージ、WebベースのRアプリケーションを構築するためのフレームワーク、およびRからアクセスできるオンラインサービスに焦点を当てています。利用可能なパッケージと関数のリストを以下に示します。アクティビティ。rOpenSci Task View: Open Dataには、Rからアクセスできるオンラインデータソースの詳細な説明があります。

このタスクビューの追加や改善のためのコメントや提案がある場合は、GitHubにアクセスしてsubmit an issueか、変更を加えてsubmit a pull requestしてください。GitHubに貢献できない場合は、send Scott an emailしてください。下記のいずれかのパッケージに問題がある場合は、そのパッケージのメンテナーに連絡してください。RパッケージでまだサポートされていないWebサービス、API、データソース、またはその他のオンラインリソースが分かっている場合は、the package development to do list on GitHubに追加することを検討してください。

RからWebを操作するためのツール

HTTPリクエストのコアツール

RからWebとやりとりするほとんどの使用例をカバーする2つのパッケージがあります。

httrは、HTTPメソッド(GET、POST、PUT、HEAD、DELETEなど)を実行するための使いやすいインターフェイスを提供し、最新のWeb認証プロトコル(OAuth 1.0、OAuth 2.0)をサポートします。HTTPステータスコードは、HTTPコールのデバッグに役立ちます。httrを使用すると、レスポンスオブジェクトからhttpステータスコードを取得するstop_for_status()など、これを簡単に使用できます。コールが成功しなかった場合は、機能を停止します。(warn_for_status()も参照してください)。httpコールのconfigパラメータにlibcurlオプションを追加で渡すことができます。curlは、Rとlibcurl C libraryの間のより密接なインタフェースを提供する下位レベルのパッケージですが、ユーザーフレンドリーではありません。これは、WebベースのXML上での操作やFTP操作の実行に役立ちます。curl :: curl()は、ベースRのurl()のSSL互換の置換えであり、http 2.0、SSL(https、ftps)、gzip、deflateなどをサポートしています。ほとんどのR関数は、安全でないHTTPを扱っているウェブサイト(すなわち、「http」という接頭辞ではなく)を使って、read.tableやread.csvなどのデータを直接抽出することができます。これは、jsonlite :: fromJSON()やXML :: parseXMLなどのアドオンパッケージ内の関数にも適用されます。具体的な状況については、以下のリソースが役立つ場合があります。

  • RCurlは、libcurlのもう一つの低レベルクライアントです。2つの低レベルカールクライアントのうち、curlを使用することをお勧めします。
    • httpRequestは、GET、POST、および複数パートのPOST動詞を実装するHTTPリクエストの別の低レベルパッケージですが、その使用はお勧めしません。
  • crulGitHub)は、R6ベースのHTTPクライアントであり、非同期HTTPリクエスト、ページネーションヘルパー、webmockrによるHTTP mocking、およびvcrによるリクエストのキャッシュを提供します。エンドユーザーよりも他のRパッケージの開発者をターゲットにしています。
  • curlconverter(CRANにはない)は、ブラウザの開発者のコンソールなどのcurlコマンドラインコードをRコードに変換するのに便利なパッケージです。
  • requestは、他のAPIクライアントパッケージの開発に役立つ高水準パッケージを提供します。
    • httpingは、httr呼び出しの前後で、HTTPリクエストにpingと時刻を設定する簡単なツールを提供します。
    • httpcacheは、HTTPリクエストをキャッシュするためのメカニズムを提供します。
  • 動的に生成されたウェブページ(結果を表示するためにユーザインタラクションを必要とするウェブページ)の場合、RSeleniumを使用してこれらのインタラクションを自動化し、ページコンテンツを抽出することができます。
    • これは、JsonWireProtocolを使用してSelenium 2.0 Webdriverのバインディングセットを提供します。また、自動化されたアプリケーションテスト、負荷テスト、およびWebスクレイピングにも役立ちます。
    • seleniumPipesGitHub)は、同じパイプライン型のインターフェイスを提供します。
    • 前の2つのパッケージに代わるものは、軽量の代替品であることを保証するsplashrです。
    • rdom(CRANにはない)は、phantomjsを使用してWebページのDOM(Document Object Model)にアクセスします。
  • Webページの静的コンテンツをキャプチャするために、postlightmercuryは、Webページを構造化されたテキストに変換するWebサービスMercuryのクライアントです。
  • Webスクレイピングに役立つ高水準の代替パッケージは、一般的なWebスクラップ作業を簡単に表現できるようにmagrittrと連携するように設計されたrvestGitHub)です。
  • ウェブサイトがSSLを使用しない(すなわち、URLに「https」という接頭辞がない)場合、多くのベースRツールを使用してウェブコンテンツをダウンロードすることができます。download.file()は、リモートファイルをダウンロードするために使用できる汎用関数です。SSLの場合、downloaderのdownload()関数はdownload.file()をラップし、すべて同じ引数をとります。
  • read.table()およびread.csv()、friendsを使用して、ファイルがSSL経由でホストされていないと仮定して、表形式のデータセット(例:txt、csvなど)を入力できます。別の方法として、httr :: GET(またはRCurl :: getURL)を使用して、read.table(text = …)で解析する前にファイルを文字ベクトルとしてRに最初に読み込む方法があります。ファイルをローカルディレクトリにダウンロードすることもできます。
    • rioGitHub)は、https:// URLから多くの一般的なデータ形式を直接読み取るimport()関数を提供します。
    • repmis関数source_dat()は、URL(httpまたはhttpsのいずれか)からプレーンテキストデータをロードしてキャッシュできます。このパッケージには、非公開のDropboxフォルダからプレーンテキストデータをダウンロード/キャッシュするためのsource_Dropbox()と、Excel xlsxシートをダウンロード/キャッシュするためのsource_XlsxData()も含まれています。
  • 認証:Webリソースを使用するには、APIキー、OAuth、ユーザー名:パスワードの組み合わせ、または他の手段による認証が必要です。さらに、httpコールのヘッダーに認証が必要なWebリソースが存在することもあります。これには少し時間がかかります。
    • APIキーとユーザー名:パスワードコンボは、Webリソース(APIキー:http://api.foo.org/?key=yourkey;ユーザー/パス:http://ユーザー名:パスワード @ api.foo.org)、またはRCurlまたはhttrのコマンドで指定することができます。
    • OAuthは最も複雑な認証プロセスであり、httrを使用して最も簡単に行うことができます。
    • OAuth 1.0(linkedin、twitter、vimeo)の3つ、OAuth 2.0(facebook、GitHub、google)の3つのデモをhttrでご覧ください。
    • ROAuthは、OAuthとは別のRインターフェースを提供するパッケージです。
    • OAuthは、httrで簡単にできるので、そこから始めましょう。
    • googleAuthRは、Google Webサービス専用のOAuth 2.0セットアップを提供します。
    • AzureAuthは、Azure Active Directoryにも同様の機能を提供します。

HTTPエラー/コードの処理

  • fauxpasは、個々のHTTPステータスコードごとにR6クラスのようなRubyまたはPythonのセットを提供し、メッセージや警告、または停止の使用を選択できるように、単純で冗長なメッセージを許可します。
  • httpcodeは、ユーザー/パッケージが名前または番号でHTTPステータスコードと関連するメッセージを見つけるのを支援する簡単なパッケージです。

構造化されたWebデータの解析

ウェブベースのデータの大部分は、プレーンテキスト、HTML、XML、またはJSON(javascriptオブジェクト表記)として構造化されています。ウェブサービスAPIはますますJSONに依存していますが、XMLはまだ多くのアプリケーションで普及しています。これらのフォーマットで特に動作するパッケージがいくつかあります。これらの関数を使用して、安全でないWebページと直接やりとりすることができます。また、ローカルに格納された、またはメモリ内のWebファイルを解析するために使用できます。

  • XML:
    • XMLを扱うための2つのパッケージXMLxml2GitHub)があります。
    • どちらもXPathクエリを含む一般的なXML(およびHTML)解析をサポートしています。
    • xml2パッケージは、完全には機能しませんが、メモリ管理、クラス(XMLノードとノードセット、ドキュメントなど)、および名前空間に関してユーザーフレンドリーです。
    • 2つのうち、XMLだけがXMLノードとドキュメントのデノボ作成をサポートしています。X
    • XML2RGitHub)パッケージは、XMLをデータフレームに強制するための便利な関数の集まりです。
    • XMLの代わりにselectr があります。selectrはCSS3セレクタを解析し、セレクタをXPath 1.0式に変換します。
    • XMLパッケージは、xmlとhtmlの解析によく使用されますが、selectrはCSSセレクタをXPathに変換するため、XPathではなくCSSセレクタを使用できます。
  • HTML:
    • XMLで動作するツールはすべてHTML用にも機能しますが、HTMLは実際には不正な形式になりがちです。一部のツールは、HTMLで動作するように特別に設計されています。xml2 :: read_html()は、HTMLを読み込むのに使う最初の良い関数です。
    • htmltoolsは、HTML要素を作成する関数を提供します。
    • htmltabGitHub)は、XMLパッケージのXML :: readHTMLTableと同様のHTMLテーブルから構造化情報を抽出しますが、ヘッダーとボディーセルの行と列のスパンを自動的に展開し、ヘッダーと本文の行の識別をより詳細に制御します。
    • selectorgadget browser extensionは、ページ要素を識別するために使用できます。
    • RHTMLFormsは、HTML文書を読み込み、それが含んでいる各フォームの説明と、異なる要素と隠しフィールドを取得します。
    • scrapeRは、HTML文書やXML文書からデータを取り出すための追加ツールを提供します。
    • htmltidyGitHub)は、乱雑なHTML文書を「整理」するためのツールを提供します。
    • htm2txtは、regexを使用して、すべてのHTMLタグを削除してhtmlドキュメントをプレーンテキストに変換します。
    • Rcrawlerは、Webページのクロールと削除を行います。
  • JSON:
    • JSONの読み書きには、rjsonRJSONIOjsonliteというパッケージがいくつかあります。
    • jsonliteは、RJSONIOyajlという別のパーサが含まれています。
    • jsonliteの使用をお勧めします。
    • Jeroen Ooms https://arxiv.org/abs/1403.2805でsonliteについて説明している記事を調べてください。
    • jqrは、高速JSONライブラリjqのバインディングを提供します。
    • jsonvalidateGitHub)は、”is-my-json-valid” Node.jsライブラリを使用して、スキーマに対してJSONを検証します。
    • validatejsonrは、RapidJSON C ++ライブラリを使用して同じことを行います。
    • ajvは、ajv Javascriptライブラリを使用して同じことを行います。
    • ndjsonGitHub)は、「ndjson」形式をサポートしています。
  • RSS / Atom:
    • feedeRは、RSSフィードまたはAtomフィードの解析に使用できます。
    • tidyRSSは、RSS、Atom XML / JSON、およびgeoRSSをきちんとしたdata.frameに解析します。
  • swagger(CRANにはない)を使用して、Swagger.io形式のドキュメントを提供するWebサービスAPIを操作するための関数を自動的に生成することができます。

URLを操作するためのツール

  • httr :: parse_url()関数を使用して、URLの一部を抽出することができます。RCurl :: URLencode()およびutils :: URLencode()関数は、URLで使用する文字列をエンコードするために使用できます。utils :: URLdecode()は元の文字列にデコードします。urltoolsGitHub)は、URLエンコーディング、デコード、解析、パラメータ抽出を処理することもできます。
  • tldextractパッケージは、ホスト名からトップレベルのドメインとサブドメインを抽出します。これは、a Python library of the same nameの一部です。
  • iptoolsは、ジオロケーションでの使用を含め、IPv4アドレスの使用を容易にすることができます。
  • urlshorteneRGitHub)は、Bit.ly、Goo.gl、is.gdのURL展開と解析を提供します。longurlは、longurl.org APIを使用して同様の機能を提供します。
  • gdns(CRANにはない)は、Googleの安全なHTTPベースのDNS解決サービスへのアクセスを提供します。

スクレープされたWebページの内容を操作するためのツール

  • HTML文書の解析には、いくつかのパッケージを使用できます。
    • boilerpipeRは、HTMLファイルからのメインテキストコンテンツの一般的な抽出を提供します。ボイラパイプJavaライブラリを使用した広告、サイドバー、ヘッダーの削除
    • RTidyHTMLは、整形式ではないHTML文書を修正するためにlibtidyライブラリにインタフェースします。このライブラリは、HTMLドキュメントの一般的なエラーを修正します。
    • W3CMarkupValidatorは、HTMLドキュメントを検証するためのW3Cマークアップ検証サービスへのRインターフェイスを提供します。
  • XML文書の場合、XMLSchemaパッケージは、XMLスキーマ文書を読み込んで処理してRクラスの定義を作成し、XMLノードをそれらのクラスのインスタンスに変換するための機能をRに用意しています。RのXMLスキーマによるメタコンピューティングのフレームワークを提供します。
    • xsltは、xsltスタイルシートを適用してXML文書を変換するxml2パッケージの拡張です。(これは、Dan VeillardのlibxsltトランスレータとSXalanパッケージへのインタフェースであるSxsltの現代的な置き換えとして見ることができます。)これは、ウェブスクラップや、XMLマークアップを人間が読める形式や機械で読める形式(HTML、JSON、プレーンテキストなど)に変換するのに便利です。
    • SSOAPは、クライアント側のSOAP(簡易オブジェクトアクセスプロトコル)メカニズムを提供します。これは、SOAPサーバーが提供するSOAPメソッドを呼び出すための高水準インターフェースを提供することを目的としています。
    • XMLRPCは、HTTPとXMLを使用する比較的単純なリモートプロシージャコールメカニズムであるXML-RPCの実装を提供します。これは、単一のマシン上のプロセス間の通信、またはR内のWebサービスへのアクセスに使用できます。
  • Rcompression(CRANにはない):R内でメモリ内の圧縮と解凍を実行するためのzlibとbzip2ライブラリへのインタフェース。これは、RCurlを介したWebサービスやHTTP要求などのリモートサーバへのコンテンツの受信や送信に便利です。
  • tm.plugin.webmining:XML(RSS、ATOM)とJSON形式のニュースフィード用の拡張可能なテキスト取得フレームワーク。現在、Googleブログ検索、Google Finance、Googleニュース、NYTimes記事検索、Reuters News Feed、Yahoo Finance、Yahoo Inplayなどのフィードが実装されています。
  • webshotは、PhantomJSを使用して、ブラウザなしでWebページのスクリーンショットを提供します。これは、Webサイト(Shinyアプリケーションなど)のテストに役立ちます。

セキュリティ

  • securitytxtは、Webセキュリティポリシーファイルを識別して解析します。

その他の便利なパッケージと関数

  • Javascript:
    • V8GitHub)は、Googleのオープンソースで高性能なJavaScriptエンジンとのインタフェースです。JavascriptライブラリとNPMパッケージをラップすることができます。
    • SpiderMonkeyパッケージは、JavaScriptコードを評価し、JavaScriptオブジェクトを作成し、R内からJavaScript関数とメソッドを呼び出す別の手段を提供します。これは、Rセッション内にJavaScriptエンジンを埋め込むか、FirefoxなどのブラウザにRを埋め込み JavaScriptからRを呼び出し、RからJavaScriptにコールバックします。
    • jsパッケージはV8をラップし、JavaScriptコードの検証、再フォーマット、最適化、解析を行います。
  • Email:
    • mailRは、R内から電子メールを送信するApache Commons Emailへのインタフェースです。
    • sendmailRは、単純なSMTPクライアントを提供します。
    • gmailrは、Googleのgmail.com RESTful APIへのアクセスを提供します。
  • Mocking:
    • webmockrは、スタブしてHTTPリクエストの期待値を設定するためのライブラリです。これはRubys webmockからインスピレーションを受けています。このパッケージはHTTP要求を模擬するのに役立ち、要求が期待通りに合っている場合は何も返しません。返されたレスポンスによるモックテストのテストを参照してください。
  • Testing:
    • vcrは、HTTPリクエストをRパッケージのテストスイートに簡単にキャッシュするためのインタフェースを提供します(ただし、テスト用のユースケース以外でも使用できます)。
    • vcrは、webmockrに依頼してHTTPリクエストのモックを行います。
    • httptestは、HTTP APIと通信するパッケージをテストするためのフレームワークを提供し、APIを模擬するためのツールを提供し、模擬として使用するための実際のAPI応答を記録し、実行時にAPIサーバへのライブ接続を必要とせずにHTTP要求に関するアサーションを行います。
  • その他:
    • webutilsGitHub)は、application / x-www-form-urlencodedやmultipart / form-dataのパーサを含む、Webアプリケーションを開発するためのさまざまな機能が含まれています。
    • mimeGitHub)は、拡張子からファイルのMIMEタイプを推測します。
    • rsdmxGitHub)は、統計データとメタデータ交換(SDMX)フレームワークを介して交換されるデータとメタデータのドキュメントを読み込むためのツールを提供します。パッケージは現在、SDMX XML標準フォーマット(SDMX-ML)に焦点を当てています。
    • robotstxt(CRANにはない)は、robots.txtファイルの解析と検査のためのR6クラスを提供します。
    • uaparserjsGitHub)は、javacriptの“ua-parser” libraryを使用してUser-Agent HTTPヘッダーを解析します。
    • rjsonapiは、JSON API Specificationに準拠したAPIを使用します。
    • rapiclientは、Open API formatに従うAPIを消費するクライアントです。
    • restfulrは、RESTfulなサービスをあたかもネストされたRリストのようにモデル化します。

Webおよびサーバーフレームワーク

  • Model Operationalization(以前のDeployR)は、後で使用するためのWebサービスとしてサーバーにRおよびPythonモデルとコードをデプロイするためのサポートを提供するMicrosoft製品です。
  • shinyパッケージは、RでインタラクティブなWebアプリケーションを構築するのを容易にします。
  • 他のWebフレームワークには次のようなものがあります:
    • fieryは、より柔軟性がありますが、shiny(reqresroutrは、それぞれHTTP要求と応答クラスを提供するfieryによって使用されるユーティリティです)、HTTPのルーティングよりも使いにくいものです。
    • rcloud(CRANにはない)は、iPythonのノートブックスタイルのWebベースのRインターフェースを提供します。
    • Rookは、Rookアプリケーションの構築と実行のための仕様と便利なソフトウェアが含まれています。
  • 組み込み統計計算と再現性のある研究のためのopencpuフレームワークは、R、LaTeX、PandocをインタフェースするWeb APIを公開しています。このAPIは、たとえば、統計機能をシステムに統合し、集中サーバー上でスクリプトやレポートを共有および実行し、Rベースのアプリケーションを構築するために使用されます。
  • R用のいくつかの汎用サーバー/クライアントフレームワークが存在します。
    • RserveおよびRSclientは、TCP / IPまたはローカルソケットインタフェース用のサーバおよびクライアント機能を提供します。
    • httpuvは、R内で直接HTTPとWebSocketリクエストを処理するための低レベルのソケットとプロトコルのサポートを提供します。
    • おそらくhttpuvに置き換わる別の関連パッケージはwebsocketsです。
    • servrは、httpuvに基づいて指定されたディレクトリの下でファイルを提供する簡単なHTTPサーバを提供します。
  • いくつかのパッケージは、RコードをWeb APIに変換する機能を提供します。
    • FastRWebは、このための基本的なインフラストラクチャがいくつか用意されています。
    • plumberは、既存のRソースコードを装飾してREST APIを作成することができます。
  • WADLパッケージは、Webアプリケーション記述言語(WADL)ドキュメントを処理し、それらのWADLドキュメントに記述されているRESTメソッドにインターフェイスするR関数をプログラムで生成するためのツールが用意されています。(CRANにはない)
  • RDCOMServerは、RオブジェクトをWindowsの(D)COMオブジェクトとしてエクスポートするメカニズムを提供します。Rから他のCOMサーバーへのユーザーレベルのアクセスを提供するRDCOMClientパッケージと共に使用できます。(CRANにはない)
  • rapporter.netは、クラウドにrapport統計レポートテンプレートをホストして実行するためのオンライン環境(SaaS)を提供します。
  • radiantGitHub)は、サーバまたはローカルマシンからブラウザで実行されるR用のShinyベースのGUIです。
  • Tiki Wiki CMS / Groupwareフレームワークには、wikiページからRコードを実行するためのRプラグイン(PluginR)があり、収集したWebデータベース(トラッカー)のデータを使用します。デモ:https://r.tiki.org/tiki-index.php
  • MediaWikiは、WikiページからRコードを実行するための拡張子(Extension:R)があり、アップロードされたデータを使用します。メーリングリストは利用可能です:R-sig-mediawiki 。
  • whisker:R.Mustache構文のMustacheに基づくロジックレステンプレートの実装については、http://mustache.github.io/mustache.5.htmlを参照してください。
  • CGIwithR(CRANにはない)は、Rスクリプトを動的Webコンテンツを生成するためのCGIプログラムとして使用することを可能にする。HTMLフォームおよび動的要求を提出する他のメカニズムを使用して、Webを介してRスクリプトに入力を提供し、そのRスクリプト内で決定されたコンテンツを作成することができます。

Webサービス
クラウドコンピューティングとストレージ

  • Amazon Web Servicesは、コンピューティング、ストレージ、およびインフラストラクチャの一連のツールを提供する、人気のある独自のクラウドサービスです。
  • aws.signatureは、AWS APIリクエストシグネチャを生成するための機能を提供します。
    • シンプルストレージサービス(S3)は、インターネットに接続されたあらゆるマシンからコンテンツを保存して取得することができる商用サーバーです。
      • aws.s3は、おそらく、S3用のベストRクライアントです。
      • RAmazonS3s3mpi(CRANにはない)は、S3と通信するための基本的なインフラストラクチャを提供します。
    • Elastic Cloud Compute(EC2)は、クラウドコンピューティングサービスです。
      • segue(CRANにはない)は、emrlapply()というElastic Map Reduce(EMR)エンジン用のlapply()の並列バージョンを含むEC2インスタンスとS3ストレージを管理するための別のパッケージです。単純な並列計算を行うために、AmazonのEMRでHadoop Streamingを使用しています。
    • シンプルノーティフィケーションサービス(SNS)は、マイクロサービス、分散システム、およびサーバーレスアプリケーションのPub / Subメッセージングおよびモバイル通知のためのサービスです。aws.sns
    • AWS Pollyは、テキストを現実的な音声に変換するTTS(Text-to-Speech)クラウドサービスです。aws.polly
    • pawsGitHub)は、コンピューティング、ストレージ、データベース、機械学習など、ほぼすべてのAWS APIへのインターフェースです。外部システムの依存関係も必要ありません。
    • DBREST:RAmazonDBRESTは、AmazonのSimple DB APIへのインタフェースを提供します。
    • 現在GitHubで開発中のThe cloudyr projectは、外部システムの依存関係を必要とせずに完全なAmazon Web Servicesスイートに統一されたインタフェースを提供することを目指しています。
  • Azureは、マイクロソフトのクラウドコンピューティングサービスです。これは、PaasおよびSaaS、IaaSを提供し、Microsoft固有のシステムとサードパーティのシステムの両方を含む、さまざまなツールやフレームワークをサポートしています。
    • Azure Active Directory(AAD)は、集中型のディレクトリおよびIDサービスです。AzureAuthは、AAD用のRクライアントです。Resource Managerやストレージなど、他のAzureサービスとの認証に使用するOAuthトークンを取得するためにこれを使用します(次を参照)。
    • Azure Resource Manager(ARM)は、他のAzureサービスを展開するためのサービスです。AzureRMRは、ARMへのRインターフェイスであり、そして購読、リソースグループ、リソースとテンプレートを管理することを可能にします。特定のサービスに追加機能を提供するように拡張できる一般的なR6クラスフレームワークを公開します(次を参照)。
    • Azure Storage Accountsは、汎用のデータストレージ機能です。ファイル、BLOB、テーブル、データレイクなど、さまざまな種類のストレージを使用できます。AzureStorは、ストレージへのRインターフェイスを提供します。機能には、ファイルおよびBLOB、Data Lake Gen2ストレージ、並列ファイル転送、MicrosoftのクロスプラットフォームAzCopyコマンドラインユーティリティへのインターフェイスのためのクライアントが含まれます。また、ストレージアカウントの作成と管理を可能にするARMインターフェイスも提供されています。
    • Data Science Virtual Machines(DSVM)は、R、Python、TensorFlow、Sparkなど、統計や機械学習のためのさまざまなソフトウェアがプリロードされたAzure VMです。AzureVMは、R内からDSVMを管理するためのパッケージです。適切な展開テンプレートを提供することで、任意のVMを展開することもできます。
    • AzureContainersは、Azureのコンテナーを操作するための統一機能を提供します。具体的には、Azure Container Instances(ACI)、Azure Docker Registry(ACR)、Azure Kubernetes Service(AKS)へのRインターフェイスが含まれます。Dockerイメージを作成してACRリポジトリにプッシュします。ACIコンテナをスピンアップします。AKSにKubernetesサービスをデプロイします。
    • Azure Data Explorerは、Kustoとも呼ばれ、高速でスケーラブルなデータ探索および分析サービスです。AzureKusto(まだCRANにはありません)は、ADE / KustoへのRインターフェースです。SQLデータベース用のdbplyrによって提供されるものに類似したdplyrクライアントインターフェースおよびDBIクライアントインターフェース、Kustoクラスターとデータベースを展開および管理するためのARMインターフェースが含まれます。
  • googleComputeEngineRは、Google Compute Engine APIとやり取りし、Google Cloudでインスタンスを作成、開始、停止することができます。
  • Cloud Storage:
    • googleCloudStorageRは、Google Cloud Storageのインターフェースです。
    • boxrGitHub)は、box.com API用の軽量で高水準のインターフェースです。
    • rdrop2は、dir / copy / move / delete操作、アカウント情報(クォータを含む)、Dropboxアカウントからのファイルのアップロードとダウンロードを含むファイル操作のフルセットへのアクセスを提供するDropboxインターフェイスです。
  • Docker:
    • analogseaは、Digital Ocean v2 APIの汎用クライアントです。さらに、パッケージには、ベースR、RStudioサーバーなど、さまざまなRツールをインストールする機能が含まれています。このパッケージを使用してリモートドロップレットのドッカーと対話するための改良されたインターフェイスがあります。
  • crunchGitHub)は、crunch.ioストレージおよび分析プラットフォームへのインタフェースを提供します。
    • crunchyGitHub)は、Crunchの上にShinyアプリケーションを作成しやすくします。
  • rrefine(CRANにはない)は、OpenRefine(以前のGoogle Refine)データクリーニングサービスのクライアントを提供します。

ドキュメントとコードの共有

  • コード共有:
    • gistrGitHub)は、RのGitHubのgist(gist.github.com)で動作し、新しい要点を作成し、新しいファイルで要点を更新し、ファイルの名前を変更し、ファイルを削除し、要点を取得したり削除したり、あなたのデフォルトブラウザで要点を開き、要点の埋め込みコードを取得し、要約を一覧表示し、認証されるとレート制限情報を取得します。
    • git2rは、gitバージョン管理システムへのバインディングを提供します。
    • ghは、GitHub APIに対するクライアントです。
    • gitlabrは、GitLab 固有のクライアントです。
    • pastebinは、https://pastebin.com/のコード共有サイトのクライアントです。
  • データアーカイブ:
  • Googleドライブ/ Googleドキュメント:
    • RGoogleDocsパッケージは、RCurlとXMLパッケージを使用してGoogleドキュメントAPIへのインタフェースを迅速に開発する例です。
    • RGoogleStorageは、Google Storage APIへのプログラムによるアクセスを提供します。これにより、RユーザーはGoogleのストレージにアクセスしてデータを保存できます。コンテンツのアップロードとダウンロード、フォルダ/バケットの作成、一覧表示、削除、オブジェクトやバケットに対するアクセス制御のアクセス許可の設定ができます。
  • Googleスプレッドシート:
    • googlesheetsGitHub)は、タイトル、キー、またはURLで非公開または公開のGoogleスプレッドシートにアクセスできます。データの抽出またはデータの編集。スプレッドシートやワークシートの作成、削除、名前の変更、コピー、アップロード、ダウンロード。
    • gsheetGitHub)は共有リンクのみを使用してGoogleスプレッドシートをダウンロードできます。スプレッドシートは、データフレームとして、またはプレーンテキストとしてダウンロードして手動で解析することができます。
  • imguRGitHub)は、画像ホスティングサービスImgur.comを使用してプロットを共有するためのパッケージです。knitrには関数型プログラミング文書から画像を読み込む関数imgur_upload()もあります。
  • rscribd(CRANにはない):文書をScribdに公開するためのAPIクライアント。

データ分析および処理サービス

  • 地理空間/地理位置情報/ジオコーディング:
    • いくつかのパッケージがジオロケーション/ジオコーディングサービスに接続します。
    • rgeolocateGitHub)は、いくつかのオンラインツールとオフラインツールがあります。
    • rydn(CRANにはない)は、Yahoo DevelopersのネットワークジオロケーションAPIへのインターフェースです。
    • ipapiGitHub)は、http://ip-api.com/ APIを使用してIPv4 / 6アドレスやドメイン名の地理的位置を特定するために使用できます。
    • threewordsは、3ワードのフレーズとして地球上の3メートル×3メートルの正方形を表すWhat3Words APIに接続します。
    • opencageGitHub)は、OpenCage ジオコーディングサービスへのアクセスを提供します。
    • geoparserGitHub)は、Geoparser.io Webサービスとインターフェイスを組み、プレーンテキストから地名を識別します。
    • nominatim(CRANにはない)は、逆ジオコーディングのOpenStreetMap Nominatim APIに接続します。
    • PostcodesioR(CRANにはない)は、英国のポストコードルックアップとジオコーディングを提供します。
    • geosapiは、GeoServer REST APIのRクライアントです。これは、空間データを提供するために広く使用されているオープンソースの実装です。
    • geonapiは、地理メタデータを管理するためのオープンソースカタログであるGeoNetwork レガシーAPIへのインターフェイスを提供します。
    • ows4Rは、メタデータのためのデータとカタログサービス(CSW)用のWeb Feature Service(WFS)などのOGC標準Webサービス用の新しいRクライアントです。
  • 画像処理:
    • RoogleVision(CRANにはない)は、Google Cloud Vision画像認識サービスへリンクします。
  • サービスとしての機械学習:
    • いくつかのパッケージは、クラウドベースの機械学習サービスへのアクセスを提供します。
    • bigmlGitHub)は、BigMLに接続します。
    • OpenMLGitHub)は、the OpenML APIの公式のクライアントです。
    • clarifaiGitHub)は、Clarifai.comクライアントで、自動画像記述を可能にします。
    • rLTPGitHub)は、ltp-cloud serviceにアクセスします。
    • languagelayeRは、言語検出APIであるLanguagelayerのクライアントです。
    • googlepredictionapi(CRANにはない)は、Google Prediction APIのRクライアントで、クラウドマシン学習ツールのスイートです。
    • yhatrを使用すると、Yhat REST APIを使用してモデルをデプロイメント、メンテナンス、および呼び出すことができます。
    • datarobotは、Data Robotの予測モデリングプラットフォームと連携します。
    • mscsweblm4rGitHub)は、Microsoft認知サービスWeb言語モデルAPIとインターフェイスします。
    • mscstexta4rGitHub)は、Microsoft認知サービステキスト分析REST APIを使用します。
    • rosetteApiは、Rosetteテキスト解析APIにリンクしています。
    • googleLanguageRは、GoogleのCloud Translation API、Natural Language API、Cloud Speech API、Cloud Text-to-Speech APIへのインターフェイスを提供します。
  • マシン翻訳:
    • translateは、Google Translate API v2のバインディングを提供します。
    • translateR はGoogleとMicrosoftの両方の翻訳APIのバインディングを提供します。
    • RYandexTranslateGitHub)は、Yandex Translateに接続します。
    • transcribeRは、HP IDOLサービスを使用して自動オーディオの転記を行います。
  • ドキュメント処理:
  • マッピング:
    • osmarは、異なるソースからのOpenStreetMapデータにアクセスして共通のR方式でデータを処理し、既存のRパッケージ(spやigraphオブジェクトなど)によって提供される利用可能なインフラストラクチャにデータを変換するためのインフラストラクチャを提供します。
    • osrmGitHub)は、OpenStreetMapから最短のパスと移動時間を提供します。
    • osmplotrGitHub)は、OpenStreetMapからカスタマイズ可能なマップイメージを抽出します。
    • RgoogleMapsは、静的な地図をGoogleサーバーに照会するための快適なRインターフェースを提供し、マップを背景画像として使用してR内のプロットをオーバーレイします。
    • R2GoogleMapsは、Googleマップを使用してデータを表示するRからJavaScriptコードを生成するメカニズムを提供します。
    • RKMLDeviceは、Keyhole Markup Language(KML)形式のRグラフィックスをGoogle Earth(またはGoogle Maps)で表示できるように作成でき、RKMLはユーザーにKMLを生成するための高度な機能を提供します。
    • plotKMLは、Google Earthで空間および時空間オブジェクトを視覚化できます。
    • plotGoogleMaps pls SPまたはSPT(STDIF、STFDF)データをGoogleマップ上のHTMLマップマッシュアップとして表示します。
    • ggmapを使用すると、ggplot2を使用してGoogle Maps、OpenStreetMaps、Stamen Maps、CloudMade Mapsの上で空間データとモデルを簡単に視覚化できます。
    • mapsapiは、Google Maps APIとのsf互換インタフェースです。
    • leafletR:オープンソースのJavaScriptライブラリリーフレットを使用して、インタラクティブなWebマップ上に空間データを表示できます。
    • openaddsGitHub)は、Openaddresses クライアントです。
    • banRは、フランス語アドレス用のBase Adresses Nationale(BAN)APIへのアクセスを提供します。
  • オンライン調査:
    • qualtRicsは、Qualtricsと対話するための機能を提供します。
    • WufooRGitHub)は、Wufoo.com フォームからデータを取得できます。
    • redcapAPIGitHub)は、Vanderbilt Universityで開発されたオンライン調査とデータベースの構築と管理のためのWebアプリケーションであるREDCap(Research Electronic Data CAPture)データベースに格納されたデータへのアクセスを提供します。
    • formrは、openCPU上に構築されたformr survey frameworkの使用を容易にします。
    • Rexperigenは、Experigen experimental platformのクライアントです。
  • 可視化:
    • Plot.lyは、plotlyを介してアクセス可能なR(およびPython)を使用してWebでビジュアライゼーションを作成することを可能にする会社です。
    • googleVisは、RチャートツールとGoogleグラフツールの間のインターフェイスを提供します。
    • RUbigraphパッケージは、インタラクティブでダイナミックなグラフを描画するためのUbigraphサーバーへのRインターフェイスを提供します。頂点/ノードとエッジをグラフに追加したり削除したり、図形、色、サイズなどの属性や特性を変更することができます。インタラクティブなJavascript対応のグラフィックスは、データ分析のためのますます有用な出力形式です。
    • ggvisは、RのインタラクティブなWebグラフィックスを簡単に記述できるようにします。ggplot2とshinyのアイデアを融合し、Vegaを使ってWeb上にグラフィックスを描画します。
    • d3Networkは、RからD3 JavaScriptネットワーク、ツリー、樹形図、およびSankeyグラフを作成するためのツールを提供します。
    • clickme(CRANにはない)は、RのインタラクティブなJavascriptチャートを許可します。
    • animint(CRANにはありません)は、clickSelectsとshowSelectedの美しさでggplotのリストを使用してインタラクティブなアニメーションを定義し、CSV / JSON / D3 / JavaScriptを使用してWebブラウザで表示できます。
    • rVega(CRANにはない)はVegaのRラッパーです。
  • その他:
    • rrefineは、OpenRefineでータクリーニングサービスとの間でインポートおよびエクスポートを行うことができます。

ソーシャルメディアクライアンと

  • plusserは、Google+プロフィール、ページ、投稿の検索を容易にするように設計されています。また、検索機能も備えています。現在、Google+データにアクセスするにはGoogle+ APIキーが必要です。
  • Rfacebookfacebook.S4は、Facebook APIへのインターフェースを提供します。
  • Rflickrパッケージは、Flickr写真管理および共有アプリケーションWebサービスへのインターフェイスを提供します。(CRANにはない)
  • instaRGitHub)は、Instagram APIのクライアントです。
  • Rlinkedin(CRANにはない)は、LinkedIn APIのクライアントです。AuthはOAuth経由です。
  • rpinterestは、Pintrest APIに接続します。
  • tumblRGitHub)は、Tumblr API(https://www.tumblr.com/docs/en/api/v2)のクライアントです。Tumblrはマイクロブログのプラットフォームとソーシャルネットワーキングのウェブサイトhttps://www.tumblr.com/です。
  • vkRは、ロシアに拠点を置くソーシャルネットワーキングサイトであるVKのクライアントです。
  • meetuprは、Meetup.com APIのクライアントです。
  • Twitter:
    • twitteRGitHub)は、Twitter Web APIへのインターフェースを提供します。
    • rtweetGitHub)は、廃止される予定です。
    • twitterreport(CRANにはない)は、Twitterデータに基づくレポート生成に重点を置いています。
    • streamRは、ユーザがTwitterのフィルタ、サンプル、ユーザストリームにアクセスし、その出力をデータフレームに解析するための一連の関数を提供します。OAuth認証がサポートされています。
    • tweet2rは、SQLiteとPostGISのデータベースを対象とした別の方法です。
    • graphTweetsは、つぶやきのdata.frameからネットワークグラフを生成します。
    • tweetscores(CRANにはない)は、指定されたTwitterユーザーのための政治的イデオロギー拡大尺度を実装します。
    • brandwatchRは、BrandwatchソーシャルリスニングAPIからデータを取得するためのパッケージです。生テキストおよび集計統計、およびプロジェクト管理機能とクエリ管理機能が利用できます。

Web Analyticsサービス

  • Googleトレンド:
    • gtrendsRは、Googleトレンドのクエリを実行して表示する機能を提供します。
    • RGoogleTrendsは、別の方法を提供します。
  • Google Analytics:
  • オンライン広告:
    • fbRadsは、FacebookのマーケティングAPIを通じてFacebook広告を管理できます。
    • RDoubleClick(CRANにはない)は、GoogleのDoubleClick Campaign Manager Reporting APIからデータを取得できます。
    • RSmartlyIOGitHub)は、Smartly.ioによって提供されたFacebookとInstagram広告データを読み込みます。
  • その他のサービス:
    • RSiteCatalystは、Adobe Analytics(Omniture SiteCatalyst)レポートAPIにアクセスするための関数があります。
  • RAdwordsGitHub)は、Google Adwordsデータを読み込むためのパッケージです。
  • webreadrGitHub)は、CommonおよびCombined Web Log形式やAWSログなど、さまざまな一般的な要求ログを処理できます。

Rパッケージ開発用Webサービス

  • http://log.r-hub.io/は、すべてのアーキテクチャでパッケージビルドを可能にするプロジェクトです。
  • rhubは、プラットフォーム上のパッケージを確認できるようにR-Hubとインターフェースするパッケージです。

その他のWebサービス

  • フィットネスアプリ:
  • プッシュ通知:
    • RPushbulletは、コンピュータ、電話、タブレット間で迅速かつ効率的な通知を提供するPushbulletサービス用の使いやすいインターフェイスを提供します。
    • pushoverrGitHub)は、Pushoverを使用してモバイルデバイス(iOSとAndroid)とデスクトップにプッシュ通知を送信できます。
    • notifymeGitHub)は、Philips Hueの照明を制御できます。
  • 参照/参考文献/引用管理:
    • RefManageRは、RefManagerを使用してBibTeXとBibLaTeXの参照をインポートおよび管理します。
    • rorcidGitHub)は、Orcid.org APIのプログラムインタフェースです。科学者や出版物(DOIなど)の識別に使用できます。
    • rdataciteは、学術データセットのDOIとメタデータを管理するDataCiteに接続します。
    • scholarは、Google Scholarから引用データを抽出する機能を提供しています。複数の学者を比較し、将来のh-インデックス値を予測するための便利機能も提供されます。
    • rscopusは、Elsevier Scopus APIから引用データを抽出する機能を提供します。複数の学者を比較し、将来のh指数値を予測するための便利な機能も提供されています。
    • mathpixは、LaTeXコードを生成するためにMathpix webserviceを介して式(タイプセットまたは手書き)の画像を変換します。
    • zen4Rは、登録の管理、「Zenodo」によるDOIの帰属、ファイルのアップロードなど、Zenodo REST APIへのインターフェイスを提供します。
  • 文献:
    • rplosは、Public Library of Scienceジャーナルで検索用に提供されるWebサービスメソッドへのプログラムインタフェースです。
    • rpubmed(CRANではなく)は、PubmedおよびPubmed Centralレコードを抽出および処理するためのツールを提供します。
    • europepmcGitHub)は、Europe PubMed Centralサービスに接続します。
    • pubmed.mineRは、PubMedからのテキストとXMLのフェッチをサポートするPubMed Abstractsのテキストマイニング用のパッケージです。
    • jstorは、JSTORによる研究サービス用のデータからメタデータ、ngramsおよびフルテキストをインポートする関数とヘルパーを提供します。JSTORrも同様のことをします。
    • aRxivは、コンピュータサイエンス、数学、物理学、定量的生物学、定量的財務および統計のための電子プレプリントのリポジトリであるarXiv APIのクライアントです。
    • roadoiは、Unpaywall API へのインタフェースを提供し、学術論文の全文版を無料で見つけることができます。
    • rcoreoaは、オープンアクセス学術論文の検索インターフェースであるCORE API へのインターフェースです。
    • rcrossrefは、CrossrefのAPIへのインターフェイスです。
    • crminerは、CrossrefのText and Data Miningサービスで取得した学術論文からフルテキストを抽出します。
    • fulltextは、学術論文からフルテキストを検索、検索、抽出するための汎用パッケージです。
  • 自動メタデータ収穫:
    • oaiGitHub)とOAIHarvesterは、メタデータ収穫のためのOpen Archives Initiative Protocol(OAI-PMH)標準を使用してメタデータを収集します。
    • rresyncは、ResourceSync frameworkのクライアントで、OAI-PMHの代替品です。
  • Wikipedia:
  • bigrqueryGitHub):Googleのbigqueryへのインターフェイス。
  • sparkbqGitHub):Google BigQueryによるsparklyrのサポート。
  • cymruservicesは、Team CymruのWebセキュリティサービスを照会します。
  • datamart:内部データセットとウェブベースのデータソースを統一的に処理するためのS4インフラストラクチャを提供します。例としては、dbpedia、eurostat、sourceforgeなどがあります。
  • discgolfGitHub)は、Discourse WebフォーラムプラットフォームのAPIと対話するクライアントを提供します。このAPIは、Discourseサイト自体のためではなく、Discourseのインストールされたインスタンス用です。
  • rdpla((GitHub)[https://github.com/ropensci/rdpla])は、Digital Public Library of America APIで動作します。
  • factualRFactual.comサーバーAPI用の薄いラッパー。
  • internetarchive:インターネットアーカイブメタデータ用のAPIクライアント。
  • irced(CRANにはない)は、IRCチャットクライアントです。
  • jSonarR:クエリを実行し、その結果をdata.framesで返すことで、ユーザがMongoDBにアクセスできるようにします。jSonarRはjSonar Analytics PlatformとJSON Studio Gatewayのデータ処理と変換機能を使用して、JSONを表形式に変換します。
  • LendingClubは、LendingClub APIに接続します。
  • livechatRは、LiveChat APIのクライアントです。
  • mockaRoo(CRANにはない)は、MockaRoo APIを使用して、入力スキーマに基づいて模擬データまたは偽データを生成します。
  • pivotaltrackRは、柔軟なプロジェクト管理ツールであるPivotal TrackerのAPIへのインタフェースを提供します。
  • randNamesGitHub)は、https://randomapi.com/ APIを使用して、ランダムな名前と個人識別情報を生成します。
  • RblpapiGitHub)は、Bloomberg Finance L.Pのクライアントです。
    • ROpenFIGIGitHub)は、BloombergのOpenFIGI APIへのインタフェースを提供します。
  • rerddap:OPeNDAP(https://en.wikipedia.org/wiki/OPeNDAP)の特別なケースであるERDDAPインスタンスとやりとりする汎用Rクライアント、または ネットワークデータアクセスプロトコル。ERDDAPインスタンスを使用するために、ベースURLをスワップアウトすることができます。
  • ripplerestrは、金融取引を行うためのRippleプロトコルへのインタフェースを提供します。
  • restimizeapiは、tradingウェブサイトestimize.comへのインターフェースを提供します。
  • RForcecom:RForcecomはForce.comとSalesforce.comへの接続を提供します。
  • Rgoodreads(CRANにはない)は、Goodreadsとやりとりします。
  • owmrROpenWeatherMapという2つのパッケージは、Open Weather Map APIで動作します。
  • RSauceLabsGitHub)は、SauceLabsに接続します。
  • soqlは、Socrataクエリを構築するためのパイプ指向のツールセットです。
  • RStripeは、オンライン決済プロセッサーのStripe へのインターフェースを提供します。
  • RZabbixは、Zabbix network monitoring service APIとリンクしています。
  • rwarsは、Star Wars API (SWAPI)からデータを取得して再フォーマットします。
  • slackrGitHub)は、Slack.comメッセージングプラットフォームのクライアントです。
  • shutterstockGitHub)は、RからShutterstockライブラリーにアクセスできます。
  • stackr(CRANにはない):Stack Exchange APIの読み取り専用機能の非公式ラッパー。
  • telegramGitHub)は、Telegram Bot APIに接続します。
  • trelloRGitHub)は、Trello APIに接続します。
  • tuberは、YouTube APIクライアントです。
  • tubernは、YouTubeアナリティクスとレポートAPIのクライアントです。
  • udapiは、Urban Dictionaryに接続します。
  • useRsnap(CRANではなく)は、Webアプリケーションユーザーからのフィードバックを収集するためのツールであるUsersnapのAPIへのインタフェースを提供します。
  • yummlyrGitHub)は、Yummlyレシピデータベースへのインターフェイスを提供します。
  • zendeskR:このパッケージは、Zendesk APIのラッパーを提供します。
  • ZillowRは、Zillow不動産サービスのクライアントです。
  • docuSignrは、DocuSign Rest API へのインタフェースを提供します。
  • giphyrは、GIFのためのGiphy API へのRインターフェースです
  • duckduckrは、RインターフェースDuckDuckGo’s Instant Answer APIです。

関連する記事

  • R言語 CRAN Task View:ケモメトリックスと計算物理学R言語 CRAN Task View:ケモメトリックスと計算物理学 CRAN Task View: Chemometrics and Computational Physicsの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。 Maintainer: Katharine Mullen Contact: katharine.mullen at […]
  • R言語 CRAN Task View:時系列解析R言語 CRAN Task View:時系列解析 CRAN Task View: Time Series Analysisの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。 Maintainer: Rob J. Hyndman Contact: Rob.Hyndman at […]
  • R言語 CRAN Task View:微分方程式R言語 CRAN Task View:微分方程式 CRAN Task View: Differential Equationsの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。 Maintainer: Karline Soetaert and Thomas Petzoldt Contact: karline.soetaert at […]
  • R言語 CRAN Task View:水文データとモデリングR言語 CRAN Task View:水文データとモデリング CRAN Task View: Hydrological Data and Modelingの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。 Maintainer: Sam Zipper, Sam Albers, Ilaria Prosdocimi Contact: samuelczipper at […]
  • R言語 CRAN Task View:欠損データR言語 CRAN Task View:欠損データ CRAN Task View: Missing Dataの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。 Maintainer: Julie Josse, Nicholas Tierney and Nathalie Vialaneix (r-miss-tastic […]
R言語 CRAN Task View:Web技術とサービス

One thought on “R言語 CRAN Task View:Web技術とサービス

Comments are closed.