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

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


3
ggplot2を使用してRで透明な背景のグラフィックを作成する方法は?
ggplot2グラフィックスをRから透明な背景のPNGファイルに出力する必要があります。基本的なRグラフィックスではすべて問題ありませんが、ggplot2では透明度がありません。 d <- rnorm(100) #generating random data #this returns transparent png png('tr_tst1.png',width=300,height=300,units="px",bg = "transparent") boxplot(d) dev.off() df <- data.frame(y=d,x=1) p <- ggplot(df) + stat_boxplot(aes(x = x,y=y)) p <- p + opts( panel.background = theme_rect(fill = "transparent",colour = NA), # or theme_blank() panel.grid.minor = theme_blank(), panel.grid.major = theme_blank() ) #returns white …


12
data.frame行をリストに
行ごとのリストに変換したいdata.frameがあります。つまり、各行は独自のリスト要素に対応します。つまり、data.frameに行が含まれている限り、リストが必要です。 これまでのところ、私はこの問題に次の方法で取り組みましたが、これに対処するより良い方法があるかどうか疑問に思っていました。 xy.df <- data.frame(x = runif(10), y = runif(10)) # pre-allocate a list and fill it with a loop xy.list <- vector("list", nrow(xy.df)) for (i in 1:nrow(xy.df)) { xy.list[[i]] <- xy.df[i,] }
123 list  r  dataframe 

3
data.tablesのX [Y]結合が完全外部結合または左結合を許可しないのはなぜですか?
これは、data.table結合構文についての哲学的な質問です。data.tablesの用途はますます増えていますが、まだ学習中です... X[Y]data.tables の結合フォーマットは非常に簡潔で、便利で効率的ですが、私が知る限り、内部結合と右外部結合のみをサポートしています。左または完全な外部結合を取得するには、以下を使用する必要がありますmerge。 X[Y, nomatch = NA] -Yのすべての行-右外部結合(デフォルト) X[Y, nomatch = 0] -XとYの両方に一致する行のみ-内部結合 merge(X, Y, all = TRUE) -XとYの両方からのすべての行-完全外部結合 merge(X, Y, all.x = TRUE) -Xのすべての行-左外部結合 X[Y]結合フォーマットが4種類の結合すべてをサポートしていると便利だと思います。2種類の結合のみがサポートされる理由はありますか? 私にとって、nomatch = 0およびnomatch = NAパラメータの値は、実行されるアクションのための非常に直感的ではありません。merge構文を理解して覚える方が簡単です:all = TRUE、all.x = TRUEおよびall.y = TRUE。X[Y]操作はにmerge非常に似ているので、関数のパラメーターではなく結合matchのmerge構文を使用してみませんか?matchnomatch 4つの結合タイプのコード例を以下に示します。 # sample X and Y data.tables library(data.table) X <- data.table(t = 1:4, …
123 r  join  data.table 

18
OSX Yosemiteに「アップグレード」した後のRStudio / RでのrJavaロードエラー
最近、OSX Mountain LionからYosemiteに、およびR 3.1.3から3.2に「アップグレード」しました。アップグレード直後にRまたはRStudioを開くと、Java 6をインストールする必要があることを示すポップアップメッセージが表示されました。さらに、rJavarJavaに依存するパッケージ(またはなど)をロードすると、xlsxRStudioがクラッシュしました(Rもクラッシュしました)私がR.app直接開いてこれを試したとき)。 Stack Overflowやその他の場所で見つかったいくつかの修正を試した後(詳細は以下を参照)、ロードrJavaまたは依存するパッケージrJavaがRをクラッシュさせなくなりましたが、次のエラーが発生します。 library(rJava) Error : .onLoad failed in loadNamespace() for 'rJava', details: call: dyn.load(file, DLLpath = DLLpath, ...) error: unable to load shared object '/Library/Frameworks/R.framework/Versions/3.2/Resources/library/rJava/libs/rJava.so': dlopen(/Library/Frameworks/R.framework/Versions/3.2/Resources/library/rJava/libs/rJava.so, 6): Library not loaded: @rpath/libjvm.dylib Referenced from: /Library/Frameworks/R.framework/Versions/3.2/Resources/library/rJava/libs/rJava.so Reason: image not found Error: package or namespace load failed for …

7
Rを使用してzipデータファイルをダウンロードし、データを抽出してインポートする
Twitterの@EZGraphsは、次のように書いています。 私も今日これをやろうとしましたが、手動でzipファイルをダウンロードするだけになりました。 私は次のようなことを試しました: fileName <- "http://www.newcl.org/data/zipfiles/a1.zip" con1 <- unz(fileName, filename="a1.dat", open = "r") 遠く離れているような気がします。何かご意見は?
122 r  zip  connection 

6
2つの異なるy軸でプロットするにはどうすればよいですか?
Rで2つの散布図を重ね合わせて、ポイントの各セットが独自の(異なる)y軸を持つようにします(つまり、図の位置2と4に)が、ポイントは同じ図に重ねて表示されます。 これを使ってこれを行うことは可能plotですか? 問題を示すサンプルコードを編集する # example code for SO question y1 <- rnorm(10, 100, 20) y2 <- rnorm(10, 1, 1) x <- 1:10 # in this plot y2 is plotted on what is clearly an inappropriate scale plot(y1 ~ x, ylim = c(-1, 150)) points(y2 ~ x, pch = 2)
122 r  plot  yaxis 


5
matplotlibで密度プロットを作成する方法は?
RIでは、次のようにして目的の出力を作成できます。 data = c(rep(1.5, 7), rep(2.5, 2), rep(3.5, 8), rep(4.5, 3), rep(5.5, 1), rep(6.5, 8)) plot(density(data, bw=0.5)) python(matplotlibを使用)では、最も近いのは単純なヒストグラムです。 import matplotlib.pyplot as plt data = [1.5]*7 + [2.5]*2 + [3.5]*8 + [4.5]*3 + [5.5]*1 + [6.5]*8 plt.hist(data, bins=6) plt.show() normed = Trueパラメータも試してみましたが、ガウス分布をヒストグラムに当てはめる以外の方法はありませんでした。 私の最新の試みは周りだったscipy.statsとgaussian_kde、ウェブ上の例は以下のが、私はこれまで成功してきました。
122 python  r  numpy  matplotlib  scipy 

6
dplyrを使用してテーブルのすべての行に関数を適用しますか?
で作業するとき、すべての行に適用する必要があるスカラー関数plyrに使用すると便利であることがよくありましたadply。 例えば data(iris) library(plyr) head( adply(iris, 1, transform , Max.Len= max(Sepal.Length,Petal.Length)) ) Sepal.Length Sepal.Width Petal.Length Petal.Width Species Max.Len 1 5.1 3.5 1.4 0.2 setosa 5.1 2 4.9 3.0 1.4 0.2 setosa 4.9 3 4.7 3.2 1.3 0.2 setosa 4.7 4 4.6 3.1 1.5 0.2 setosa 4.6 5 5.0 3.6 1.4 …
121 r  plyr  dplyr 

7
Rデータフレームに行を追加する方法
StackOverflowを見回しましたが、Rデータフレームに行を追加するという問題に固有の解決策が見つかりません。 次のように、空の2列のデータフレームを初期化しています。 df = data.frame(x = numeric(), y = character()) 次に、私の目標は、値のリストを反復処理し、各反復でリストの最後に値を追加することです。私は次のコードから始めました。 for (i in 1:10) { df$x = rbind(df$x, i) df$y = rbind(df$y, toString(i)) } 私はまた、機能を試みたc、appendと、merge成功せず。何か提案があれば教えてください。
121 r  merge  append  dataframe  rows 

14
各グループ内の行数を数える
データフレームがあり、各グループ内の行数をカウントしたいと思います。私は通常aggregate、次のようにデータを合計する関数を使用します。 df2 <- aggregate(x ~ Year + Month, data = df1, sum) 今、私は観察を数えたいのですが、の適切な議論を見つけることができないようですFUN。直感的には、次のようになると思いました。 df2 <- aggregate(x ~ Year + Month, data = df1, count) しかし、そのような運はありません。 何か案は? おもちゃのデータ: set.seed(2) df1 <- data.frame(x = 1:20, Year = sample(2012:2014, 20, replace = TRUE), Month = sample(month.abb[1:3], 20, replace = TRUE))
121 r  dataframe  aggregate  r-faq 

13
Rでのデバッグに関する一般的な提案
私が書いたR関数を使用するとエラーが発生します。 Warning messages: 1: glm.fit: algorithm did not converge 2: glm.fit: algorithm did not converge 私がやった事: 関数をステップ実行 エラーが発生する行を見つけるためにprintを追加すると、使用すべきでない2つの関数が示唆されますglm.fit。彼らはあるwindow()とsave()。 私の一般的なアプローチには、追加printとstopコマンド、および例外を見つけることができるまで関数を1行ずつステップ実行することが含まれます。 ただし、このエラーがコード内で発生する手法を使用することは私には明らかではありません。コード内のどの関数が依存しているかさえわかりませんglm.fit。この問題を診断するにはどうすればよいですか?
120 r  debugging  r-faq 

2
ggplotでの凡例(テキスト)ラベルの編集
ドキュメントとStackOverflowを調べて何時間も費やしましたが、問題が解決するような解決策はないようです。使用するggplotと、データフレームにあるのに、凡例に正しいテキストが表示されません。私が試してみましたscale_colour_manual、scale_fill_manualのために異なる値でlabels=などc("T999", "T888")", "cols"。 これが私のコードです: T999 <- runif(10, 100, 200) T888 <- runif(10, 200, 300) TY <- runif(10, 20, 30) df <- data.frame(T999, T888, TY) ggplot(data = df, aes(x=T999, y=TY, pointtype="T999")) + geom_point(size = 15, colour = "darkblue") + geom_point(data = df, aes(x=T888, y=TY), colour = 'red', size = 10 ) …
120 r  text  ggplot2  label 

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