52590


私はPythonとR言語を使ってお互いの弱点を補い合いながらシステムを組みたいと思っています。

PythonとR言語をリンクできる[PypeR](https://qiita.com/m__k/items/df83a03bc7aa1ad0a59e)というライブラリもあるのですが、私はcsvを介した方法でPythonとR言語をリンクすることにしました。

PypeRのようなライブラリを使う方法と、csvファイルを介する方法のメリットとデメリットをそれぞれ教えてください。


CC BY-SA 4.0
2019-02-06T08:25:54.983
52587
2020-11-05T04:37:08.420
2019-02-06T08:37:13.200
26886
26886
question
python r
PythonとR言語をリンクさせる方法のメリットとデメリットを教えてください。


PythonとR言語のそれぞれ強みなどは理解しているものとして説明します。

# ある言語から別の言語を呼び出して利用する

1つの言語の中で完結させられるのが強みでしょう。

言語間でのやりとりに限らず、ライブラリとして同じ言語で作られた別の機能を利用するのに近いイメージだと考えられます。

# 各言語で（ファイルやデータベース、RPCなどを利用して）やりとりする

それぞれの言語の流儀に沿った構成を出来ること、それぞれのアプリケーションを常時起動させるアーキテクチャを作りやすいことが強みになりそうです。


CC BY-SA 4.0
2019-02-06T08:50:36.323
52590
2019-02-06T08:50:36.323
29826
52587
answer


Rからは reticulate パッケージで python を呼び出すことも出来ますよ。

データ容量や種類によってはCSVでは非効率または精度の問題が起きるケースがあります。  
(categorical/factorの多いデータ、桁数の多い浮動小数点)

Rの神 Hadley さんと pandasの神 Wesさんが共同で制作している feather 形式は、  
それらの問題を克服することを目的としたものです。

<https://medium.com/@snehotosh.banerjee/feather-a-fast-on-disk-format-for-r-
and-python-data-frames-de33d0516b03>

開発中のため、永続的な保存形式としては推奨されていません（将来的にフォーマットが非互換な形に変更または拡張される可能性がゼロではないため）が  
頻繁またはバージョン固定された環境間で行き来させるデータに使うには良い形式かもしれません。


CC BY-SA 4.0
2019-10-29T11:00:35.233
60083
2020-11-05T04:37:08.420
2020-11-05T04:37:08.420
32676
32676
52587
answer