CRAN Task View: Web Technologies and Servicesの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。
Maintainer: | Scott Chamberlain, Thomas Leeper, Patrick Mair, Karthik Ram, Christopher Gandrud |
Contact: | myrmecocystus at gmail.com |
Version: | 2020-11-12 |
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を操作するためのツール
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リクエストの別の低レベルパッケージですが、その使用はお勧めしません。
- crul(GitHub)は、R6ベースのHTTPクライアントであり、非同期HTTPリクエスト、ページネーションヘルパー、webmockrによるHTTP mocking、およびvcrによるリクエストのキャッシュを提供します。エンドユーザーよりも他のRパッケージの開発者をターゲットにしています。
- requestは、他のAPIクライアントパッケージの開発に役立つ高水準パッケージを提供します。
- 動的に生成されたWebページ(つまり、結果を表示するためにユーザーの操作を必要とするWebページ)の場合、RSeleniumを使用してこれらの操作を自動化し、ページコンテンツを抽出できます。
- JsonWireProtocolを使用して、Selenium 2.0 Webドライバーに一連のバインディングを提供します。
- seleniumPipes(GitHub)は、Selenium 2.0 Webドライバーへの「pipe」指向のインターフェースを提供します。
- 前の2つのパッケージに代わるものは、軽量の代替品であることを保証するsplashrです。
- rdom(CRANにはない)は、phantomjsを使用してWebページのDOM(Document Object Model)にアクセスします。
- Webページの静的コンテンツをキャプチャするために、postlightmercuryは、Webページを構造化されたテキストに変換するWebサービスMercuryのクライアントです。
- Webスクレイピングに役立つ高水準の代替パッケージは、一般的なWebスクラップ作業を簡単に表現できるようにmagrittrと連携するように設計されたrvest(GitHub)です。
- ウェブサイトが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に最初に読み込む方法があります。ファイルをローカルディレクトリにダウンロードすることもできます。
- 認証: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つのパッケージXMLとxml2(GitHub)があります。
- どちらもXPathクエリを含む一般的なXML(およびHTML)解析をサポートしています。
- xml2は、完全には機能しませんが、メモリ管理、クラス(XMLノードとノードセット、ドキュメントなど)、および名前空間に関してユーザーフレンドリーです。
- 2つのうち、XMLだけがXMLノードとドキュメントのデノボ作成をサポートしています。X
- XML2R(GitHub)は、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要素を作成する関数を提供します。
- htmltab(GitHub)は、XMLパッケージのXML :: readHTMLTableと同様のHTMLテーブルから構造化情報を抽出しますが、ヘッダーとボディーセルの行と列のスパンを自動的に展開し、ヘッダーと本文の行の識別をより詳細に制御します。
- selectorgadget browser extensionは、ページ要素を識別するために使用できます。
- RHTMLFormsは、HTML文書を読み込み、それが含んでいる各フォームの説明と、異なる要素と隠しフィールドを取得します。
- scrapeRは、HTML文書やXML文書からデータを取り出すための追加ツールを提供します。
- htmltidy(GitHub)は、乱雑なHTML文書を「整理」するためのツールを提供します。
- htm2txtは、regexを使用して、すべてのHTMLタグを削除してhtmlドキュメントをプレーンテキストに変換します。
- Rcrawlerは、Webページのクロールと削除を行います。
- JSON:
- JSONの読み書きには、rjson、RJSONIO、jsonliteなどがあります。
- jsonliteは、RJSONIOのyajlという別のパーサが含まれています。
- jsonliteの使用をお勧めします。
- Jeroen Ooms https://arxiv.org/abs/1403.2805でsonliteについて説明している記事を調べてください。
- jqrは、高速JSONライブラリjqのバインディングを提供します。
- jsonvalidate(GitHub)は、”is-my-json-valid” Node.jsライブラリを使用して、スキーマに対してJSONを検証します。
- ajvは、ajv Javascriptライブラリを使用して同じことを行います。
- ndjson(GitHub)は、「ndjson」形式をサポートしています。
- RSS / Atom:
- swagger(CRANにはない)を使用して、Swagger.io形式のドキュメントを提供するWebサービスAPIを操作するための関数を自動的に生成することができます。
URLを操作するためのツール
- httr :: parse_url()関数を使用して、URLの一部を抽出することができます。RCurl :: URLencode()およびutils :: URLencode()関数は、URLで使用する文字列をエンコードするために使用できます。utils :: URLdecode()は元の文字列にデコードします。urltools(GitHub)は、URLエンコーディング、デコード、解析、パラメータ抽出を処理することもできます。
- iptoolsは、ジオロケーションでの使用を含め、IPv4アドレスの使用を容易にすることができます。
- 同様のipaddressは、IPv4およびIPv6アドレスとネットワークを処理します。
- urlshorteneR(GitHub)は、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:
- V8(GitHub)は、Googleのオープンソースで高性能なJavaScriptエンジンとのインタフェースです。JavascriptライブラリとNPMパッケージをラップすることができます。
- SpiderMonkeyは、JavaScriptコードを評価し、JavaScriptオブジェクトを作成し、R内からJavaScript関数とメソッドを呼び出す別の手段を提供します。これは、Rセッション内にJavaScriptエンジンを埋め込むか、FirefoxなどのブラウザにRを埋め込み JavaScriptからRを呼び出し、RからJavaScriptにコールバックします。
- jsはV8をラップし、JavaScriptコードの検証、再フォーマット、最適化、解析を行います。
- Email:
- Mocking:
- webmockrは、スタブしてHTTPリクエストの期待値を設定するためのライブラリです。これはRubys webmockからインスピレーションを受けています。このパッケージはHTTP要求を模擬するのに役立ち、要求が期待通りに合っている場合は何も返しません。返されたレスポンスによるモックテストのテストを参照してください。
- Testing:
- その他:
- webutils(GitHub)は、application / x-www-form-urlencodedやmultipart / form-dataのパーサを含む、Webアプリケーションを開発するためのさまざまな機能が含まれています。
- mime(GitHub)は、拡張子からファイルのMIMEタイプを推測します。
- rsdmx(GitHub)は、統計データとメタデータ交換(SDMX)フレームワークを介して交換されるデータとメタデータのドキュメントを読み込むためのツールを提供します。パッケージは現在、SDMX XML標準フォーマット(SDMX-ML)に焦点を当てています。
- robotstxt(CRANにはない)は、robots.txtファイルの解析と検査のためのR6クラスを提供します。
- spiderbarも同様です。
- uaparserjs(GitHub)は、javacriptの“ua-parser” libraryを使用してUser-Agent HTTPヘッダーを解析します。
- rapiclientは、Open API formatに従うAPIを消費するクライアントです。
- restfulrは、RESTfulなサービスをあたかもネストされたRリストのようにモデル化します。
Webおよびサーバーフレームワーク
- Model Operationalization(以前のDeployR)は、後で使用するためのWebサービスとしてサーバーにRおよびPythonモデルとコードをデプロイするためのサポートを提供するMicrosoft製品です。
- shinyは、RでインタラクティブなWebアプリケーションを構築するのを容易にします。
- dashは、React.jsで記述されたコンポーネントを備えたPythonおよびR、Juliaで使用可能なWebフレームワークです。
- 他のWebフレームワークには次のようなものがあります:
- 組み込み統計計算と再現性のある研究のためのopencpuフレームワークは、R、LaTeX、PandocをインタフェースするWeb APIを公開しています。このAPIは、たとえば、統計機能をシステムに統合し、集中サーバー上でスクリプトやレポートを共有および実行し、Rベースのアプリケーションを構築するために使用されます。
- R用のいくつかの汎用サーバー/クライアントフレームワークが存在します。
- いくつかのパッケージは、RコードをWeb APIに変換する機能を提供します。
- WADLは、Webアプリケーション記述言語(WADL)ドキュメントを処理し、それらのWADLドキュメントに記述されているRESTメソッドにインターフェイスするR関数をプログラムで生成するためのツールが用意されています。(CRANにはない)
- RDCOMServerは、RオブジェクトをWindowsの(D)COMオブジェクトとしてエクスポートするメカニズムを提供します。Rから他のCOMサーバーへのユーザーレベルのアクセスを提供するRDCOMClientと共に使用できます。(CRANにはない)
- rapporter.netは、クラウドにrapport統計レポートテンプレートをホストして実行するためのオンライン環境(SaaS)を提供します。
- radiant(GitHub)は、サーバまたはローカルマシンからブラウザで実行される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サービス
クラウドコンピューティングとストレージ
- 現在GitHubで開発中のThe cloudyr projectは、外部システムの依存関係を必要とせずに完全なAmazon Web Servicesスイートに統一されたインタフェースを提供することを目指しています。
- Amazon Web Servicesは、コンピューティング、ストレージ、およびインフラストラクチャの一連のツールを提供する、人気のある独自のクラウドサービスです。
- aws.signatureは、AWS APIリクエストシグネチャを生成するための機能を提供します。
- Elastic Cloud Compute(EC2)は、クラウドコンピューティングサービスです。
- segue(CRANにはない)は、emrlapply()というElastic Map Reduce(EMR)エンジン用のlapply()の並列バージョンを含むEC2インスタンスとS3ストレージを管理するための別のパッケージです。単純な並列計算を行うために、AmazonのEMRでHadoop Streamingを使用しています。
- DBREST:RAmazonDBRESTは、AmazonのSimple DB APIへのインタフェースを提供します。
- paws(GitHub)は、コンピューティング、ストレージ、データベース、機械学習など、ほぼすべてのAWS APIへのインターフェースです。外部システムの依存関係も必要ありません。
- Elastic Cloud Compute(EC2)は、クラウドコンピューティングサービスです。
- 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のインターフェースです。
- boxr(GitHub)は、box.com API用の軽量で高水準のインターフェースです。
- rdrop2は、dir / copy / move / delete操作、アカウント情報(クォータを含む)、Dropboxアカウントからファイルをアップロードおよびダウンロードする機能など、ファイル操作の完全なスイートへのアクセスを提供するDropboxインターフェースです。
- Docker:
- analogseaは、Digital Ocean v2 APIの汎用クライアントです。さらに、パッケージには、ベースR、RStudioサーバーなど、さまざまなRツールをインストールする機能が含まれています。このパッケージを使用してリモートドロップレットのドッカーと対話するための改良されたインターフェイスがあります。
- crunch(GitHub)は、crunch.ioストレージおよび分析プラットフォームへのインタフェースを提供します。
- rrefine(CRANにはない)は、OpenRefine(以前のGoogle Refine)データクリーニングサービスのクライアントを提供します。
ドキュメントとコードの共有
- コード共有:
- データアーカイブ:
- Googleドライブ/ Googleドキュメント:
- RGoogleDocsは、RCurlとXMLパッケージを使用してGoogleドキュメントAPIへのインタフェースを迅速に開発する例です。
- RGoogleStorageは、Google Storage APIへのプログラムによるアクセスを提供します。これにより、RユーザーはGoogleのストレージにアクセスしてデータを保存できます。コンテンツのアップロードとダウンロード、フォルダ/バケットの作成、一覧表示、削除、オブジェクトやバケットに対するアクセス制御のアクセス許可の設定ができます。
- Googleスプレッドシート:
- googlesheets(GitHub)は、タイトル、キー、またはURLで非公開または公開のGoogleスプレッドシートにアクセスできます。データの抽出またはデータの編集。スプレッドシートやワークシートの作成、削除、名前の変更、コピー、アップロード、ダウンロード。
- gsheet(GitHub)は共有リンクのみを使用してGoogleスプレッドシートをダウンロードできます。スプレッドシートは、データフレームとして、またはプレーンテキストとしてダウンロードして手動で解析することができます。
- imguR(GitHub)は、画像ホスティングサービスImgur.comを使用してプロットを共有するためのパッケージです。knitrには関数型プログラミング文書から画像を読み込む関数imgur_upload()もあります。
データ分析および処理サービス
- 地理空間/地理位置情報/ジオコーディング:
- いくつかのパッケージがジオロケーション/ジオコーディングサービスに接続します。
- rgeolocate(GitHub)は、いくつかのオンラインツールとオフラインツールがあります。
- rydn(CRANにはない)は、Yahoo DevelopersのネットワークジオロケーションAPIへのインターフェースです。
- ipapi(GitHub)は、http://ip-api.com/ APIを使用してIPv4 / 6アドレスやドメイン名の地理的位置を特定するために使用できます。
- opencage(GitHub)は、OpenCage ジオコーディングサービスへのアクセスを提供します。
- nominatim(CRANにはない)は、逆ジオコーディングのOpenStreetMap Nominatim APIに接続します。
- PostcodesioR(CRANにはない)は、英国のポストコードルックアップとジオコーディングを提供します。
- geosapiは、GeoServer REST APIのRクライアントです。これは、空間データを提供するために広く使用されているオープンソースの実装です。
- geonapiは、地理メタデータを管理するためのオープンソースカタログであるGeoNetwork レガシーAPIへのインターフェイスを提供します。
- ows4Rは、メタデータのためのデータとカタログサービス(CSW)用のWeb Feature Service(WFS)などのOGC標準Webサービス用の新しいRクライアントです。
- サービスとしての機械学習:
- いくつかのパッケージは、クラウドベースの機械学習サービスへのアクセスを提供します。
- OpenML(GitHub)は、the OpenML APIの公式のクライアントです。
- clarifai(GitHub)は、Clarifai.comクライアントで、自動画像記述を可能にします。
- rLTP(GitHub)は、ltp-cloud serviceにアクセスします。
- languagelayeRは、言語検出APIであるLanguagelayerのクライアントです。
- googlepredictionapi(CRANにはない)は、Google Prediction APIのRクライアントで、クラウドマシン学習ツールのスイートです。
- yhatrを使用すると、Yhat REST APIを使用してモデルをデプロイメント、メンテナンス、および呼び出すことができます。
- datarobotは、Data Robotの予測モデリングプラットフォームと連携します。
- mscsweblm4r(GitHub)は、Microsoft認知サービスWeb言語モデルAPIとインターフェイスします。
- mscstexta4r(GitHub)は、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のバインディングを提供します。
- RYandexTranslate(GitHub)は、Yandex Translateに接続します。
- transcribeRは、HP IDOLサービスを使用して自動オーディオの転記を行います。
- ドキュメント処理:
- マッピング:
- osmarは、異なるソースからのOpenStreetMapデータにアクセスして共通のR方式でデータを処理し、既存のRパッケージ(spやigraphオブジェクトなど)によって提供される利用可能なインフラストラクチャにデータを変換するためのインフラストラクチャを提供します。
- osrm(GitHub)は、OpenStreetMapから最短のパスと移動時間を提供します。
- osmplotr(GitHub)は、OpenStreetMapからカスタマイズ可能なマップイメージを抽出します。
- RgoogleMapsは、静的な地図をGoogleサーバーに照会するための快適なRインターフェースを提供し、マップを背景画像として使用してR内のプロットをオーバーレイします。
- R2GoogleMapsは、Googleマップを使用してデータを表示するRからJavaScriptコードを生成するメカニズムを提供します。
- RKMLDeviceは、Keyhole Markup Language(KML)形式のRグラフィックスをGoogle Earth(またはGoogle Maps)で表示できるように作成でき、RKMLはユーザーにKMLを生成するための高度な機能を提供します。
- plotKMLは、Google Earthで空間および時空間オブジェクトを視覚化できます。
- ggmapを使用すると、ggplot2を使用してGoogle Maps、OpenStreetMaps、Stamen Maps、CloudMade Mapsの上で空間データとモデルを簡単に視覚化できます。
- mapsapiは、Google Maps APIとのsf互換インタフェースです。
- leafletR:オープンソースのJavaScriptライブラリリーフレットを使用して、インタラクティブなWebマップ上に空間データを表示できます。
- openadds(GitHub)は、Openaddresses クライアントです。
- banRは、フランス語アドレス用のBase Adresses Nationale(BAN)APIへのアクセスを提供します。
- オンライン調査:
- qualtRicsは、Qualtricsと対話するための機能を提供します。
- WufooR(GitHub)は、Wufoo.com フォームからデータを取得できます。
- redcapAPI(GitHub)は、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対応のグラフィックスは、データ分析のためのますます有用な出力形式です。
- その他:
- rrefineは、OpenRefineでータクリーニングサービスとの間でインポートおよびエクスポートを行うことができます。
ソーシャルメディアクライアント
- Rfacebookは、Facebook APIへのインターフェースを提供します。
- Rflickrは、Flickr写真管理および共有アプリケーションWebサービスへのインターフェイスを提供します。(CRANにはない)
- instaR(GitHub)は、Instagram APIのクライアントです。
- Rlinkedin(CRANにはない)は、LinkedIn APIのクライアントです。AuthはOAuth経由です。
- rpinterestは、Pintrest APIに接続します。
- vkRは、ロシアに拠点を置くソーシャルネットワーキングサイトであるVKのクライアントです。
- meetuprは、Meetup.com APIのクライアントです。
- Twitter:
- twitteR(GitHub)は、Twitter Web APIへのインターフェースを提供します。
- rtweet(GitHub)は、廃止される予定です。
- 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:
- googleAnalyticsRとganalytics、RGAは、Google Analytics APIsにアクセスしてデータを取得するための機能を提供します。後者はOAuth 2.0認証をサポートしています。
- RGAは、データを探索するためのshinyアプリを提供します。
- searchConsoleR(GitHub)は、Google Search Console(以前のウェブマスターツール)にリンクしています。
- オンライン広告:
- fbRadsは、FacebookのマーケティングAPIを通じてFacebook広告を管理できます。
- RDoubleClick(CRANにはない)は、GoogleのDoubleClick Campaign Manager Reporting APIからデータを取得できます。
- RSmartlyIO(GitHub)は、Smartly.ioによって提供されたFacebookとInstagram広告データを読み込みます。
- その他のサービス:
- RSiteCatalystは、Adobe Analytics(Omniture SiteCatalyst)レポートAPIにアクセスするための関数があります。
- RAdwords(GitHub)は、Google Adwordsデータを読み込むためのパッケージです。
- webreadr(GitHub)は、CommonおよびCombined Web Log形式やAWSログなど、さまざまな一般的な要求ログを処理できます。
Rパッケージ開発用Webサービス
- http://log.r-hub.io/は、すべてのアーキテクチャでパッケージビルドを可能にするプロジェクトです。
- rhubは、プラットフォーム上のパッケージを確認できるようにR-Hubとインターフェースするパッケージです。
その他のWebサービス
- プッシュ通知:
- 参照/参考文献/引用管理:
- rorcid(GitHub)は、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サービスメソッドへのプログラムインタフェースです。
- europepmc(GitHub)は、Europe PubMed Centralサービスに接続します。
- pubmed.mineRは、PubMedからのテキストとXMLのフェッチをサポートするPubMed Abstractsのテキストマイニング用のパッケージです。
- jstorは、JSTORによる研究サービス用のデータからメタデータ、ngramsおよびフルテキストをインポートする関数とヘルパーを提供します。
- aRxivは、コンピュータサイエンス、数学、物理学、定量的生物学、定量的財務および統計のための電子プレプリントのリポジトリであるarXiv APIのクライアントです。
- roadoiは、Unpaywall API へのインタフェースを提供し、学術論文の全文版を無料で見つけることができます。
- rcoreoaは、オープンアクセス学術論文の検索インターフェースであるCORE API へのインターフェースです。
- rcrossrefは、CrossrefのAPIへのインターフェイスです。
- crminerは、CrossrefのText and Data Miningサービスで取得した学術論文からフルテキストを抽出します。
- fulltextは、学術論文からフルテキストを検索、検索、抽出するための汎用パッケージです。
- rromeo(GitHub)は、印刷前、印刷後、および受け入れられた原稿に関する科学雑誌アーカイブポリシーのデータベースであるSHERPA/RoMEO APIへのインターフェイスです。
- 自動メタデータ収穫:
- oai(GitHub)とOAIHarvesterは、メタデータ収穫のためのOpen Archives Initiative Protocol(OAI-PMH)標準を使用してメタデータを収集します。
- Wikipedia:
- WikipediR(GitHub)は、特にWikipediaなどのWikimediaの「制作」ウィキを対象としたMediaWiki APIのラッパーです。
- WikidataR(GitHub)は、無料のナレッジベースであるWikidata.orgからデータを要求することができます。
- wikipediatrend(GitHub)は、Wikipediaのページアクセス統計にアクセスできるようにします。
- WikidataQueryServiceRは、Wikidata Query Serviceのクライアントです。
- bigrquery(GitHub):Googleのbigqueryへのインターフェイス。
- discgolf(GitHub)は、Discourse WebフォーラムプラットフォームのAPIと対話するクライアントを提供します。このAPIは、Discourseサイト自体のためではなく、Discourseのインストールされたインスタンス用です。
- mockaRoo(CRANにはない)は、MockaRoo APIを使用して、入力スキーマに基づいて模擬データまたは偽データを生成します。
- randNames(GitHub)は、https://randomapi.com/ APIを使用して、ランダムな名前と個人識別情報を生成します。
- rerddap:OPeNDAP(https://en.wikipedia.org/wiki/OPeNDAP)の特別なケースであるERDDAPインスタンスとやりとりする汎用Rクライアント、または ネットワークデータアクセスプロトコル。ERDDAPインスタンスを使用するために、ベースURLをスワップアウトすることができます。
- RStripeは、オンライン決済プロセッサーのStripe へのインターフェースを提供します。
- slackr(GitHub)は、Slack.comメッセージングプラットフォームのクライアントです。
- stackr(CRANにはない):Stack Exchange APIの読み取り専用機能の非公式ラッパー。
- useRsnap(CRANではなく)は、Webアプリケーションユーザーからのフィードバックを収集するためのツールであるUsersnapのAPIへのインタフェースを提供します。
- duckduckrは、RインターフェースDuckDuckGo’s Instant Answer APIです。
Pingback:R言語 CRAN Task Views | トライフィールズ