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

Rは、統計コンピューティング、バイオインフォマティクス、視覚化、および一般的なコンピューティングのための無料のオープンソースプログラミング言語およびソフトウェア環境です。必要な出力とともに、最小限の再現可能な例を提供してください。データには `dput()`を使用し、 `library()`呼び出しですべての非ベースパッケージを指定します。データやコードの画像を埋め込まないでください。代わりにインデントされたコードブロックを使用してください。統計関連の質問については、https://stats.stackexchange.comを使用してください。


10
選択した列のテーブルのNA値を置き換える方法
NA値の置き換えに関する投稿はたくさんあります。次のテーブル/フレームのNAを次のように置き換えることができることを認識しています。 x[is.na(x)]<-0 しかし、特定の列のみに制限したい場合はどうなりますか?例を示しましょう。 まず、データセットから始めましょう。 set.seed(1234) x <- data.frame(a=sample(c(1,2,NA), 10, replace=T), b=sample(c(1,2,NA), 10, replace=T), c=sample(c(1:5,NA), 10, replace=T)) それは与える: a b c 1 1 NA 2 2 2 2 2 3 2 1 1 4 2 NA 1 5 NA 1 2 6 2 NA 5 7 1 1 4 8 1 …


8
Rで密度プロットをオーバーレイする方法は?
同じデバイスに2つの密度プロットをRでオーバーレイしたいのですが、どうすればよいですか?Webを検索しましたが、明らかな解決策は見つかりませんでした。 私の考えは、テキストファイル(列)からデータを読み取ってから使用することです plot(density(MyData$Column1)) plot(density(MyData$Column2), add=T) またはこの精神の何か。
82 r  plot  density-plot 

4
キーボードコマンドを使用してRで実行中のコードを中断するにはどうすればよいですか?
Rで実行中のスクリプトを中断する方法を誰かに教えてもらえますか? 無限ループまたはその他の問題があり、スクリプトの実行を停止したいとします。それを行うキーボードコマンドはありますか? それが役立つ場合は、PythonではCtrl + cです。私はそれをRで試しましたが、うまくいきませんでした:)。 この一見単純な質問を検索しましたが、答えが見つかりませんでした。 前もって感謝します。
82 r 

4
スクリプトのggplotプロットはRstudioに表示されません
Rstudioに奇妙な問題があります。スクリプトがggplot2関数を呼び出してプロットを表示する場合、Sourceを使用してスクリプトを実行してもプロットは生成されません。私はスクリプト全体を選択した場合はCtrl+A、その後、現在の行または選択を実行します(Ctrl+Enter)、そしてプロットはありません表示を。同様に、プロットコマンドをコンソールに入力すると、正しい出力が生成されます。 例えば: library(ggplot2) p = ggplot(mtcars, aes(wt, mpg)) p + geom_point() ソースの場合ではなく、コンソールに貼り付けた場合にのみ出力を生成します。 これについては他にも質問がありますが、どちらも役に立ちません。 ggplot2 ggsave関数により、グラフィックデバイスはプロットを表示しません、問題は新しいバージョンで修正されたと誤って主張しますが、修正されていません。 RStudio-スクリプトで複数のプロットを印刷および保存するときに最初のプロットを保存しないggplotは重複として閉じられましたが、重複ではないだけでなく、dev.off()回避策も機能しません( " Error in dev.off() : cannot shut down device 1 (the null device)") スクリプトがソースされたときにRstudioにプロットを表示させるにはどうすればよいですか?Rstudio0.98.1062とR3.1.1を使用しています。
82 r  ggplot2  rstudio 

2
ベクトルをランダム化する方法
単純な1行のコマンドで、ベクトル内の番号の順序をランダムに再編成したいですか? 私の特定のベクトルVには、1から10までの値ごとに150のエントリがあります。 V <- rep(1:10, each=150)
81 r  vector  random  shuffle 

3
R.Internalまたは.Primitive関数のソースコードを確認するにはどうすればよいですか?
これらはどちらもpnorm関数のソースコードを示していません。 stats:::pnorm getAnywhere(pnorm) のソースコードを確認するにはどうすればよいpnormですか? sum (..., na.rm = FALSE) .Primitive("sum") .Primitive("sum") function (..., na.rm = FALSE) .Primitive("sum") methods(sum) no methods were found そして、どうすればsum関数のソースコードを見ることができますか?
81 r 

8
Rdata.table計算で前の行の値を使用します
ある列の現在の値と別の列の前の値から計算されたdata.tableに新しい列を作成したいと思います。前の行にアクセスすることは可能ですか? 例えば: > DT <- data.table(A=1:5, B=1:5*10, C=1:5*100) > DT A B C 1: 1 10 100 2: 2 20 200 3: 3 30 300 4: 4 40 400 5: 5 50 500 > DT[, D := C + BPreviousRow] # What is the correct code here? 正解は > DT …
81 r  data.table 

2
ggplot2で凡例アルファを設定する方法
ポイントの数が非常に多い方向に対する風速のグラフがあるので、color = monthに加えてalpha = I(1/20)を使用しています コードのサンプルは次のとおりです。 library(RMySQL) library(ggplot2) con <- dbConnect(...) wind <- dbGetQuery(con, "SELECT speed_w/speed_e AS ratio, dir_58 as dir, MONTHNAME(timestamp) AS month, ROUND((speed_w+speed_e)/2) AS speed FROM tablename;"); png("ratio-by-speed.png",height=400,width=1200) qplot(wind$dir,wind$ratio,ylim=c(0.5,1.5),xlim=c(0,360),color=wind$month,alpha=I(1/30),main="West/East against direction") dev.off() これはまともなグラフを生成しますが、私の問題は、凡例のアルファも1/30であり、判読できないことです。代わりに凡例を1アルファにする方法はありますか? 次に例を示します。
81 r  ggplot2 

5
ggplot2プロットの垂直グリッド線を抑制するにはどうすればよいですか?
水平(x)配置の指標として棒で十分な棒グラフを作成しているので、余分な垂直グリッド線を描画しないようにします。 opts()でマイナーグリッドラインとメジャーグリッドラインのスタイルを設定する方法は理解していますが、垂直グリッドラインだけを抑制する方法を一生理解することはできません。 library(ggplot2) data <- data.frame(x = 1:10, y = c(3,5,2,5,6,2,7,6,5,4)) ggplot(data, aes(x, y)) + geom_bar(stat = 'identity') + opts( panel.grid.major = theme_line(size = 0.5, colour = '#1391FF'), panel.grid.minor = theme_line(colour = NA), panel.background = theme_rect(colour = NA), axis.ticks = theme_segment(colour = NA) ) この時点で、すべてのグリッド線を抑制してから、geom_hline()でそれらを引き戻す必要があるように見えますが、これは一種の苦痛のようです(また、ティックを見つける方法が完全には明確ではありません) / geom_hline()にフィードする主要なグリッド線の位置。) どんな考えでもいただければ幸いです!
81 r  ggplot2 

1
コピーせずにデータフレームをdata.tableに変換します
に変換したい大きなデータフレーム(数GBのオーダー)がありdata.tableます。を使用as.data.tableすると、データフレームのコピーが作成されます。つまり、データの少なくとも2倍のサイズの使用可能なメモリが必要です。コピーなしで変換を行う方法はありますか? 簡単な例を次に示します。 library(data.table) N <- 1e6 K <- 1e2 data <- as.data.frame(rep(data.frame(rnorm(N)), K)) gc(reset=TRUE) tracemem(data) data <- as.data.table(data) gc() 出力あり: library(data.table) # data.table 1.8.10 For help type: help("data.table") N <- 1e6 K <- 1e2 data <- as.data.frame(rep(data.frame(rnorm(N)), K)) gc(reset=TRUE) # used (Mb) gc trigger (Mb) max used (Mb) # Ncells …

4
R関数でswitchステートメントを使用するにはどうすればよいですか?
Rの関数にステートメントを使用してswitch()、関数の引数の値に応じて異なる計算をトリガーしたいと思います。 たとえば、Matlabでは次のように書くことでそれを行うことができます switch(AA) case '1' ... case '2' ... case '3' ... end この投稿(switch()ステートメントの使用法)はswitch、使用方法を説明していますが、単純ではなく、より高度な計算(行列演算)を実行したいので、あまり役に立ちませんmean。

13
data.frameで欠落している値を報告するエレガントな方法
これは、データフレームから値が欠落している変数をレポートするために作成した小さなコードです。私はこれを行うためのよりエレガントな方法を考えようとしています。おそらくdata.frameを返す方法ですが、行き詰まっています。 for (Var in names(airquality)) { missing <- sum(is.na(airquality[,Var])) if (missing > 0) { print(c(Var,missing)) } } 編集:私は数十から数百の変数を持つdata.framesを扱っているので、欠落している値を持つ変数のみを報告することが重要です。

4
ggplot2のfacet_wrap()とfacet_grid()の違いは何ですか?
私はggplot2両方の機能のドキュメントを読んでいます。それぞれの関数(facet_wrap()とfacet_grid())を使用する上で、どのような違いがあり、どのような状況が正しいのか疑問に思いました。 library(ggplot2) p <- qplot(displ, hwy, data = mpg) p + facet_wrap(~ cyl) p + facet_grid(~ cyl) この小さな例を出発点として提供します。違いは、ラップによってプロットがより自律的になり、グリッドによって1つのプロットがすべて一緒になることです。
80 r  ggplot2  facet-wrap 

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