問題タブ [rpy2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Pythonとrpy2を使用して、Rプロットが表示される場所を制御するにはどうすればよいですか?
私はPythonでプログラムを書いています。最初に発生するのは、いくつかのボタンとテキストを含むウィンドウが表示されることです(私はwxPythonを使用しています)。ユーザーがいくつかのアクションを実行すると、プロットが独自のウィンドウに表示されます。このプロットは、rpy2を使用してRで作成されます。問題は、通常、プロットがメインウィンドウの上にポップアップするため、ユーザーがプロットを移動してメインウィンドウを再度表示する必要があることです。彼は怠惰で何の役にも立たないので、これはユーザーにとって大きな問題です。彼は、プロットを別の場所に表示するだけで、指を離さずにメインウィンドウとプロットを同時に表示できるようにしたいと考えています。
私の問題に対する2つの解決策は、
(1)wxPythonフレーム内にプロットを表示する(の場所を制御できると思います)、または
(2)画面上のどこにプロットウィンドウを表示するかを指定できることです。
どちらの方法もわかりません。
python - Windows XP で Python 2.6 を使用して、Rpy2 2.1.9 を R 2.12.1 で動作させようとすると奇妙な問題が発生します - Rpy は R.dll を見つけられませんか?
RのインストールでRpy2をうまく機能させようとして、私は本当の問題を抱えていました。最初に rpy2 MSI パッケージをインストールしようとしましたが、うまくいかないようでした。推奨されるテストを実行すると、R.dll が見つからないというエラーが表示されました。これは、新しい R インストール (2.11 以降) が DLL を i386 フォルダーにインストールするためです。 bin/i386 フォルダーではなく bin フォルダーを探しています。
次に、Python に含まれているコマンド ライン ツール (distutils) を使用して、インストールを自分でゼロから構築しようとしました。setup.py が R_home の場所を見つけることができないと主張したため、これは機能しませんでした。しかし、環境変数 (PATH) を編集すると、rpy2 セットアップに R インストールの場所が表示される可能性があることがわかりました。次に、bin/i386 ディレクトリを指す「R_home」変数を追加して、環境をいくつか編集し、同じ場所を指す PATH 変数の下に新しいエントリを作成しました。
残念ながら、R パスが見つかったときに、代わりに次の問題が発生しました。
そこで、環境への新しい編集が機能する可能性があると考えて、既製のインストールを使用しようとしましたが、ここでこの問題が発生しました
(誰でも自分のインストールで確認できるように) R は R.dll を "C:\Program Files\R\R-2.12.1\bin\i386" にインストールするので、これは本当に奇妙です。そこにあり、rpy2 を Windows のデフォルト PATH のこのディレクトリに指定しました。rpy2 が適切な場所を探しているという事実は知っていますが、なぜ R.dll が表示されないのか理解できません。
では、なぜ rpy2 はそれを見つけられないのでしょうか? また、rpy2 を R 2.12 で動作させる方法を知っている人はいますか? おそらく、新しい rpy2 2.2.0 バージョンを試す必要がありますか? まだ開発中ですが、このWebサイトによると、1.9はR 2.12を処理できるはずなので、どうすればよいかわかりません...
助けてくれる人に感謝します...
[編集]ここでもこれらの手順を試しましたが、同じ「DLLが見つかりません」というエラーが返されます...環境変数「R_home」をc/program files/R/Rを直接指すように変更しない限りi386 サブディレクトリではなく、2.12 ディレクトリに移動します。
正しい場所を指している場合、これらのエラーが返されます。これはもう少し有望に見えます...しかし、それでもかなり悪いです!
python - rpy2のリストに要素(ベクトル)を追加する
Rでは、リストに要素を簡単に追加できます。
rpy2でこれを行うにはどうすればよいですか?rpy22.1.9を使用しています。次のことを試しましたが、うまくいきません
python - Python で非 ASCII デンドログラムを作成するにはどうすればよいですか?
この見つかったコード ブロックでデンドログラムを作成しようとすると、次の呼び出しまで機能します。
次にエラーを吐き出します:
RPy_RException: dist(t(mt)) のエラー: (リスト) オブジェクトを「double」型に強制することはできません
その時点までは見栄えが良かった...おそらく本当に単純なものが欠けている
何か助けはありますか?
r - EmacsでのESSとrpy2共有Rプロセス
私はRのかなり新しいユーザーであり、Emacs Speaks Statistics(ESS)の使用を開始しました。また、rpy2(RへのPythonインターフェイス)を使用して、Emacsで実行されているipythonシェルでRプロセスを開始できます。
ESSとrpy2に同じRプロセスを共有させて、Python / rpy2で少しコーディングしてRオブジェクトを設定し、ESSに切り替えて、python / rpy2を使用せずにRコマンドを直接実行できるようにすることは可能ですか?
たとえば、Emacs内でを使用してRを開始M-x R
し、ipythonセッションでrpy2.robjects.r
この実行中のRプロセスをポイントするか使用します。または、PythonでRを開始してrp2.robjects.r
から、ESSにPythonに埋め込まれたRプロセスに接続させます。
問題は、rpy2のRプロセスがPythonインタープリターに埋め込まれていることと、rpy2を経由せずにRを直接操作できる場合、Rオブジェクトを表すPythonオブジェクトが「非同期」になることだと思います。私はrpy2とEmacsのプロセス処理がどのように機能するかについて完全な洞察を持っていないことを認めます...
python - rpy2 が使用するメモリをクリアする
rpy で作成されたオブジェクト (およびそれらが占めるメモリ) をクリアするにはどうすればよいですか?
不幸な影響は、私のアプリケーションでは、十分なメモリがなくなるまでメモリ使用量が増加し、その後クラッシュすることです... rpy2 docsから:
オブジェクト自体は利用可能なままであり、Python から foo が削除されるまで R のガベージ コレクションから保護されます。
しかし、やっている:
使用されているメモリを解放しません...
編集:rpy2 2.0、Win XP、R 2.12.0
python - R/rpy2 の as.dist 関数のメモリの問題
カスタム距離測定を使用して階層クラスタリングを実行しようとしています。すべての計算を Python で実行し、データ構造を R に渡してクラスタリングを行います
したがって、私の距離測定値は Python リストに保持され、R マトリックスに変換されdist
、クラスタリングに必要なオブジェクトに変換されます。これはある程度機能します。ただし、マトリックスが大きくなりすぎると、次のエラーが発生します。
これは、オブジェクトに変換した時点で発生しdist
ます ( as.dist
)。バラバラになるサイズはテストしていませんが、3000x3000 マトリックスでは機能しますが、6500x6500 マトリックスでは失敗するため、その中間です。Pythonの関数を使用してdel
不要なオブジェクトをメモリから削除しようとしていますが、これを読んだ限りでは、メモリがすぐに使用できるようになるとは限りません。
dist
では、最終的に、オブジェクトを取得するためのよりメモリ効率の良い方法はありますか? それとも、私が使用できる別の方法がありますか? cluster
オブジェクトを使用しないR のライブラリの他のメソッドをいくつか見つけましdist
たが、これらのメソッドは組み込みの距離メトリックを使用します。
前もって感謝します!
python - rpy2の問題、PythonからRへの引数としてlist()を渡すnls
numpy配列のrpy2を使用して非線形曲線を近似しようとしていますが、R側で「start」引数を渡す方法がわからないためにスタックしています。R2.12.1とpython2.6.6を使用しています
誰かがlist()オブジェクトをnls式に渡す方法を決定するのを手伝ってもらえますか?
私のコードの関連部分はこれです:
python - Rpy2、pyrserve、PypeRはどのように比較されますか?
Pythonプログラム内からRにアクセスしたいと思います。私はRpy2、pyrserve、PypeRを知っています。
これらの3つのオプションの長所または短所は何ですか?
python - rpy2を使用してRオブジェクトをPythonオブジェクトにキャストします
質問:RオブジェクトをPythonオブジェクトにキャストする方法
私の場合:cor.test()の結果をPythonルーチンに使用する必要があります。
期待どおりの出力:
ただし、corr[3]をPythonオブジェクトとして使用することはできません。
見て(これが私が何か間違ったことをしていることを私が知る方法です!)、出力:
ヒント/ヘルプは大歓迎です!