タグ付けされた質問 「r-faq」

r-faqタグは、Rタグで定期的に発生する問題について議論する限られた数の質問をグループ化するために作成されます。R for SOの公式FAQではありませんが、一般的な問題に関する興味深い情報源として役立つはずです。

23
優れたRの再現可能な例を作る方法
この質問の答えはコミュニティの努力です。この投稿を改善するには、既存の回答を編集してください。現在、新しい回答や相互作用を受け入れていません。 同僚とパフォーマンスについて話し合ったり、指導したり、バグレポートを送信したり、メーリングリストやここStack Stackflowでガイダンスを検索したりする場合、再現可能な例がよく尋ねられ、常に役立ちます。 優れた例を作成するためのヒントは何ですか?からデータ構造を貼り付ける方法rテキスト形式で?他にどのような情報を含める必要がありますか? dput()、dump()またはを使用することに加えて他のトリックはありstructure()ますか?library()or require()ステートメントはいつ含める必要がありますか?言葉1つの避けなければならない、に加えて予約されたc、df、data、などを? どうすれば素晴らしい r 再現可能な例?
2473 r  r-faq 

19
複数の列でデータフレームを並べ替える方法
data.frameを複数の列で並べ替えたい。たとえば、以下のdata.frameでは、列z(降順)で並べ替え、次に列b(昇順)で並べ替えます。 dd <- data.frame(b = factor(c("Hi", "Med", "Hi", "Low"), levels = c("Low", "Med", "Hi"), ordered = TRUE), x = c("A", "D", "A", "C"), y = c(8, 3, 9, 9), z = c(1, 1, 1, 2)) dd b x y z 1 Hi A 8 1 2 Med D 3 1 …
1316 r  sorting  dataframe  r-faq 


10
グループ化関数(tapply、by、aggregate)および* applyファミリー
Rで何か「マップ」pyを実行したいときはいつでも、通常はapplyファミリーの関数を使用しようとします。 しかし、私はそれらの違いを完全には理解していません-どのように{ sapply、lapplyなど}出力がどのように見えるか、または入力が可能であっても、何の入力/グループ化された入力に関数を適用する-多くの場合、私はので、私が欲しいものを手に入れるまでそれらすべてを通り抜けてください。 誰かがいつどのように使用するか説明できますか? 私の現在の(おそらく正しくない/不完全な)理解は... sapply(vec, f):入力はベクトルです。出力はベクトル/行列で、要素iはf(vec[i])でfあり、複数要素の出力がある場合に行列を提供します lapply(vec, f): と同じ sapplyですが、出力はリストですか? apply(matrix, 1/2, f):入力は行列です。出力はベクトルで、要素はiはf(行列の行/列i)です。 tapply(vector, grouping, f):出力は行列/配列であり、行列/配列の要素はベクトルのfグループ化gでの値であり、g、行/列名にプッシュされます by(dataframe, grouping, f):gグループ化しましょう。fグループ/データフレームの各列に適用されます。f各列のグループと値をきれいに出力します。 aggregate(matrix, grouping, f):に似てbyいますが、出力をきれいに出力する代わりに、aggregateはすべてをデータフレームに貼り付けます。 サイド質問:私はまだplyrまたはリシェイプを学んでいない-でしょうplyrかreshape、完全にこれらのすべてを置き換えますか?
1040 r  lapply  sapply  tapply  r-faq 

20
データフレームの列を名前で削除する
データフレームから削除したい列がいくつかあります。私はそれらを個別に削除できることを知っています: df$x <- NULL しかし、私はより少ないコマンドでこれを行うことを望んでいました。 また、次のような整数インデックスを使用して列を削除できることも知っています。 df <- df[ -c(1, 3:6, 12) ] しかし、私は変数の相対的な位置が変化するのではないかと心配しています。 Rがどれほど強力であるかを考えると、各列を1つずつ削除するよりも良い方法があると考えました。
874 r  dataframe  r-faq 

16
data.frame内のすべてまたは一部のNA(欠損値)を持つ行を削除します
このデータフレームの次のような行を削除します。 a)すべての列にわたってsを含みNAます。以下は私のデータフレームの例です。 gene hsap mmul mmus rnor cfam 1 ENSG00000208234 0 NA NA NA NA 2 ENSG00000199674 0 2 2 2 2 3 ENSG00000221622 0 NA NA NA NA 4 ENSG00000207604 0 NA NA 1 2 5 ENSG00000207431 0 NA NA NA NA 6 ENSG00000221312 0 1 2 3 2 …


9
情報を失わずに因数を整数\数値に変換する方法は?
因子を数値または整数に変換すると、値を数値としてではなく、基礎となるレベルコードを取得します。 f <- factor(sample(runif(5), 20, replace = TRUE)) ## [1] 0.0248644019011408 0.0248644019011408 0.179684827337041 ## [4] 0.0284090070053935 0.363644931698218 0.363644931698218 ## [7] 0.179684827337041 0.249704354675487 0.249704354675487 ## [10] 0.0248644019011408 0.249704354675487 0.0284090070053935 ## [13] 0.179684827337041 0.0248644019011408 0.179684827337041 ## [16] 0.363644931698218 0.249704354675487 0.363644931698218 ## [19] 0.179684827337041 0.0284090070053935 ## 5 Levels: 0.0248644019011408 0.0284090070053935 ... 0.363644931698218 as.numeric(f) …
599 r  casting  r-faq 

16
Rの同じプロットに2つのグラフをプロットする
y1とy2を同じプロットにプロットします。 x <- seq(-2, 2, 0.05) y1 <- pnorm(x) y2 <- pnorm(x, 1, 1) plot(x, y1, type = "l", col = "red") plot(x, y2, type = "l", col = "green") しかし、私がこのようにすると、それらは一緒に同じプロットにプロットされません。 Matlab hold onではこれを行うことができますが、誰でもRでこれを行う方法を知っていますか?
571 r  plot  ggplot2  r-faq 

18
「パッケージ 'xxx'は使用できません(Rバージョンxyzの場合)」という警告にどう対処すればよいですか?
私はパッケージをインストールしようとしました install.packages("foobarbaz") 警告を受けた Warning message: package 'foobarbaz' is not available (for R version x.y.z) Rがパッケージが利用可能であると考えないのはなぜですか? この問題の特定のインスタンスに関する次の質問も参照してください。 パッケージがR 2.15.2で機能しない パッケージ 'Rbbg'が利用できない(Rバージョン2.15.2の場合) パッケージが利用できない(Rバージョン2.15.2の場合) パッケージdoMCがRバージョン3.0.0で利用できない警告install.packages 依存関係「Rglpk」はパッケージ「fPortfolio」 では使用できませんパッケージがRバージョンで使用できない場合はどうすればよいですか? RのbigvisパッケージはRバージョン3.0.1では使用できませんか? パッケージ 'syncwave' / 'mvcwt'は利用できません(Rバージョン3.0.2の場合) パッケージ 'diamonds'は利用できません(Rバージョン3.0.0の場合)R のplyrパッケージはRバージョン3.0.2では利用できませんか? R 64にインストールされていないパッケージbigmemory 3.0.2 パッケージ「makeR」は使用できません(バージョン3.0.2の場合) パッケージ 'RTN'が利用できません(Rバージョン3.0.1の場合) geoRパッケージのインストールの問題パッケージ パッケージ 'twitterR'が利用できません(Rバージョン3.1.0の場合) 'Rcpp、パッケージのインストール方法?「パッケージが利用できません」というパッケージを取得しました パッケージ「データセット」が利用できません(Rバージョン3.1.1の場合) 「パッケージ「rhipe」が利用できません(Rバージョン3.1.2の場合)」

10
関数のソースコードを表示するにはどうすればよいですか?
関数のソースコードを調べて、その機能を確認します。関数名をプロンプトに入力して、関数を出力できることを知っています。 > t function (x) UseMethod("t") <bytecode: 0x2332948> <environment: namespace:base> この場合、どういうUseMethod("t")意味ですか?たとえば、実際に使用されているソースコードを見つけるにはどうすればよいt(1:10)ですか。 私が見たときとの間に差があるUseMethodと、私が見たときstandardGenericとshowMethods場合と同様に、with? > with standardGeneric for "with" defined from package "base" function (data, expr, ...) standardGeneric("with") <bytecode: 0x102fb3fc0> <environment: 0x102fab988> Methods may be defined for arguments: data Use showMethods("with") for currently available ones. 他の場合では、R関数が呼び出されていることがわかりますが、それらの関数のソースコードを見つけることができません。 > ts.union function (..., dframe = …
551 r  function  r-faq 

14
サブセット化されたデータフレームのドロップファクターレベル
を含むデータフレームがありfactorます。subsetまたは別のインデックス関数を使用してこのデータフレームのサブセットを作成すると、新しいデータフレームが作成されます。ただし、factor変数が新しいデータフレームに存在しない場合でも、変数は元のレベルをすべて保持します。 これにより、ファセットプロットを実行するとき、または因子レベルに依存する関数を使用するときに問題が発生します。 新しいデータフレームの要素からレベルを削除する最も簡単な方法は何ですか? 次に例を示します。 df <- data.frame(letters=letters[1:5], numbers=seq(1:5)) levels(df$letters) ## [1] "a" "b" "c" "d" "e" subdf <- subset(df, numbers <= 3) ## letters numbers ## 1 a 1 ## 2 b 2 ## 3 c 3 # all levels are still there! levels(subdf$letters) ## [1] "a" "b" "c" "d" …
543 r  dataframe  r-factor  r-faq 

11
Rを再起動せずにパッケージをアンロードする方法
Rを再起動せずにパッケージをアンロードしたいと思います(主に、異なる競合するパッケージを試すときにRを再起動することは不満を感じるためですが、おそらくこれはプログラムで1つの関数を使用して別の関数を使用する可能性があります-名前空間は参照はおそらくその使用のためのより良いアイデアです)。 ?library パッケージをアンロードするオプションは表示されません。 ある提案detachパッケージをアンロードすることができますが、しかし、両方が失敗し、以下: detach(vegan) エラーdetach(vegan):無効なname引数 detach("vegan") エラーdetach("vegan"):無効なname引数 では、パッケージをアンロードするにはどうすればよいですか?
540 r  package  r-faq 



弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.