問題タブ [r-faq]
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.
r - 行、列インデックスを使用した行列からのインデックス値
mat
500行×335列の2Dマトリックスと、 dat
120425行のdata.frameがあります。data.framedat
には、2つの列I
とJ
があります。これらは、からの行、列にインデックスを付けるための整数mat
です。mat
の行にからの値を追加したいと思いますdat
。
これが私の概念的な失敗です:
(私はWin32でR 2.13.1を使用しています)。もう少し掘り下げてみると、マトリックスインデックスを誤用していることがわかります。これは、mat
期待どおりの値の1次元配列ではなく、のサブマトリックスのみを取得しているように見えるためです。
私はのようなものを期待していましたint [1:100] 20 1 1 1 20 1 1 1 1 1 ...
。行、列のインデックスを使用して2Dマトリックスにインデックスを付け、値を取得する正しい方法は何ですか?
r - 2.2e-16 より小さい p 値を取得できないのはなぜですか?
R の t 検定とカイ 2 乗でこの問題を発見しましたが、この問題は一般に他の検定にも当てはまると思います。私が行った場合:
私は得る: t = -64.6472, df = 18.998, p-value < 2.2e-16
. 2.2e-16
の値であるコメントから知っていますが、もちろん R はそれよりもはるかに小さい数値を表すことができます.Machine$double.eps
。1 + x != 1
R FAQ から、R は float を 53 バイナリ桁の精度に丸める必要があることも知っています: R FAQ。
いくつかの質問: (1) 2 進数で 53 桁の精度と読んで正しいでしょうか、それともR の値が< .Machine$double.eps
正確に計算されていないのでしょうか? (2) そのような計算を行うとき、R は、精度がいくらか低下しても、p 値のより小さい値を表示する手段を提供しないのはなぜですか? (3) 精度がいくらか失われたとしても、より小さな p 値を表示する方法はありますか? 1 回のテストでは 2 桁の有効数字で問題ありませんが、ボンフェローニの正しい値を取得するには、さらに多くの値が必要になります。「精度を失う」と言うとき、2進数で53桁未満だと思いますが、(4)完全に間違っていて、p値< .Machine$double.eps
が非常に不正確ですか?(5) R は正直なだけで、他の統計パッケージはそうではありませんか?
私の分野では、非常に小さな p 値が標準です。いくつかの例を 示します。 .1371%2Fjournal.pgen.1002215これが、このような小さな p 値を表現したい理由です。
助けてくれてありがとう、そのような曲がりくねった質問でごめんなさい。
r - R 因子の算術演算
R データフレームがあり、ある列を別の列から減算しようとしています。演算子を使用して列を抽出します$
が、列のクラスは「因子」であり、R は因子に対して算術演算を実行しません。これを行うための特別な機能はありますか?
r - Rを再起動せずにパッケージをアンロードする方法
R を再起動せずにパッケージをアンロードしたい (ほとんどの場合、別の競合するパッケージを試して R を再起動するとイライラするためですが、これをプログラムで使用して、ある関数を使用し、次に別の関数を使用することができます。参照することは、その用途にはおそらくより良い考えです)。
?library
パッケージをアンロードするオプションは表示されません。
パッケージをアンロードできる提案がありdetach
ますが、次の両方が失敗します。
エラー
detach(vegan)
: 無効なname
引数
エラー
detach("vegan")
: 無効なname
引数
では、パッケージをアンロードするにはどうすればよいでしょうか。
r - エラー: 関数が見つかりませんでした ... R で
これはFAQの質問であることを意図しているため、できるだけ完全に記入してください. 回答はコミュニティの回答なので、何か不足していると思われる場合は自由に編集してください。
私はRを使用して試しsome.function
ましたが、次のエラーメッセージが表示されました:
この質問は非常に定期的に出てきます。R でこの種のエラーが発生した場合、どのように解決できますか?
r - データフレームをフィルタリングする方法
私はデータフレームを持っており、これによって興味のある観測のみを選択しようとしました:
残念ながら、このコマンドはdata.frame
構造を破壊し、 long を返しますvector
。
私が取得したいのは、data.frame
私の基準に一致しない観測によって短縮されたものです。
r - R ライブラリの移行
Linux で複数の R ライブラリ (*) をあるドライブから別のドライブに移動したいのですが、単純な移動が実行可能で安全かどうか、またはパッケージをアンインストールして再インストールする必要があるかどうかを知りたいです。ライブラリの場所が特定され.libPaths()
、「R インストールと管理」マニュアルを調べてライブラリの移行について調べたことを認識していますが、推奨されるプロセスが表示されません。
次の 3 つの選択肢があります。
remove.packages()
すべての非基本パッケージに対して実行し、 経由で新たにインストールしinstall.packages(lib = "/path/to/new/location")
ます。- シンボリックリンクを使用してライブラリ(ディレクトリ)を移動
mv
し、新しい場所を指すようにします(最終的にシンボリックリンクを削除します) - R のインストールと管理のマニュアルで提案されているように、Linux でコマンドを使用して
mv
、ディレクトリの卸売りと更新を移動し.Library.site
ます。R_HOME/etc/Rprofile.site
オプション#1は鈍いです。オプション #2 は機能するはずですが、少し不健全に思えます。
#3 は安全ですか、それとも重大な問題がありますか? 私が特定した問題は次のとおりです: ディレクトリのパーミッションと、パッケージのセットアップが相対パスではなく絶対パスを保存する可能性 (不健全で不必要に思えます)。
絶対パスの保存に関しては、が というファイルにrJava
の場所を保存していることがわかりました。これはライブラリ自体の問題ではありませんが、絶対パスのプライベート コピーを保持しているパッケージ (および優れたパッケージ) の 1 つの兆候です。R_HOME
run
(*) いくつかのライブラリと多数のパッケージがあります。当然、ライブラリ (ディレクトリ) だけが移動されますが、パッケージが影響を受ける可能性があります。
UPDATE 1 / 明確化: 明確にするために: 私はライブラリのみを移行しており、R のバージョンやパッケージのバージョンは変更していません。Rまたはパッケージの更新は個別に行うことができますが、問題はライブラリの移動が実行可能かどうかだけです. 正しくインストールされていることを確認するためにすべてのパッケージを更新または再インストールする必要がある場合、それはオプション #3 よりもオプション #1 に似たパスのようです。
更新 2:別の SO 投稿への回答には、アップグレード時にこの問題を回避する方法に関するいくつかの良いアイデアがあります。私は R をアップグレードしていませんが、R のファイルツリーにパッケージをインストールしないという Dirk Eddelbuettel の提案は賢明です。
r - プロットを画像としてディスクに保存するにはどうすればよいですか?
Rを使用して単純な線形回帰をプロットします。その画像をPNGまたはJPEGとして保存したいのですが、自動的に実行できますか?(コード経由)
2つの異なる質問があります。最初に、私はすでにモニターでプロットを見ているので、そのまま保存したいと思います。次に、プロットをまだ生成していませんが、プロットコードを実行するときに、直接ディスクに保存したいと思います。
r - ggplot2を使用して、軸にブレークを挿入できますか?
値の1つが他のすべての値よりもはるかに大きい棒グラフを作成したいと思います。不連続なy軸を持つ方法はありますか?私のデータは次のとおりです。
軸を1〜10、次に490〜500で実行する方法はありますか?データをプロットする他の方法は考えられません(データを変換する以外は、やりたくないです)
[2019-05-06を編集]:
8年後、ggplot2
同じチャートを作成するには、バージョン3.1.1で動作するように上記のコードを修正する必要があります。
r - 2 つの文字列をどのように連結できますか?
2 つの値を連結 (マージ、結合) するにはどうすればよいですか? たとえば、私は持っています:
私の目標は、「tmp」の 2 つの値を 1 つの文字列に連結することです。
私のためにこれを行うことができる機能はどれですか?