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

ggplot2は、「The Grammar of Graphics」の原則に基づいた、R用の拡張プロットライブラリです。このタグは、(a)質問の重要な部分として「ggplot2」および/または予想される回答を含み、(b)「ggplot2」の使い方だけではない、*トピック*の質問に使用します。

1
ggplotまたはellipseパッケージで95%CI楕円をプロットすると異なる結果が得られる
protoclust{protoclust}データの分類に使用される変数のペアごとにスキャッタープロットを作成し、クラスごとに色を付け、各クラスの95%信頼区間の楕円を重ねることで(で作成された)クラスタリングの結果を視覚化したいelipses-classesは、変数の各ペアの下で重複しています。 楕円の描画を2つの異なる方法で実装しましたが、結果の楕円が異なります!(最初の実装では楕円が大きくなります!)軸の中心と角度はどちらも似ているように見えるので、アプリオリはサイズが異なるだけです(多少のスケーリング?)。私はそれらの1つ(両方ではないことを願っています!)、または引数を使用して何か間違ったことをしているに違いないと思います。 誰かが私が間違っていることを教えてもらえますか? ここに2つの実装のコードがあります。どちらも、データ楕円をどのようにしてggplot2散布図に重ね合わせることができるかという答えに基づいています。 ### 1st implementation ### using ellipse{ellipse} library(ellipse) library(ggplot2) library(RColorBrewer) colorpal <- brewer.pal(10, "Paired") x <- data$x y <- data$y group <- data$group df <- data.frame(x=x, y=y, group=factor(group)) df_ell <- data.frame() for(g in levels(df$group)){df_ell <- rbind(df_ell, cbind(as.data.frame(with(df[df$group==g,], ellipse(cor(x, y),scale=c(sd(x),sd(y)),centre=c(mean(x),mean(y))))),group=g))} p1 <- ggplot(data=df, aes(x=x, y=y,colour=group)) + geom_point() + …

3
ggplot2を使用して2つのデータセットをQQプロットと比較する方法は?
統計とRの初心者の両方として、私は1:1のアスペクト比でqqplotを生成しようとするのに本当に苦労しています。ggplot2は、デフォルトのRプロットパッケージよりもはるかに多くのコントロールを提供しているようですが、2つのデータセットを比較するためにggplot2でqqplotを実行する方法がわかりません。 だから私の質問、ggplot2の同等のものは何ですか? qqplot(datset1,dataset2)

2
どのようにしてggplot2の連続的な相互作用によって連続的にプロットできますか?
データがあるとしましょう: x1 <- rnorm(100,2,10) x2 <- rnorm(100,2,10) y <- x1+x2+x1*x2+rnorm(100,1,2) dat <- data.frame(y=y,x1=x1,x2=x2) res <- lm(y~x1*x2,data=dat) summary(res) x1がX軸上にあり、x2が3本の線で表されるように、連続的な相互作用による連続をプロットしたいと思います。 Zスコアは-1で、各線は個別の色でラベル付けされています。ggplot2を使用してこれを行うにはどうすればよいですか? たとえば、次のようになります(もちろん、線の種類が異なるのではなく、色付きの線が異なります)。

1
ノッチ付きボックスプロットを解釈する方法
いくつかのEDAを実行しているときに、因子の2つのレベルの違いを示すために箱ひげ図を使用することにしました。 ggplotがボックスプロットをレンダリングする方法は満足のいくものでしたが、少し単純化されています(以下の最初のプロット)。ボックスプロットの特性を調査しながら、ノッチの実験を開始しました。 ノッチは中央値の周りにCIを表示し、2つのボックスのノッチが重ならない場合、95%の信頼レベルで「中央値が異なる」という「強力な証拠」があることを理解しています。 私の場合(2番目のプロット)、ノッチは有意に重なりません。しかし、なぜ右側のボックスの底が奇妙な形をしているのですか? 同じデータをバイオリンプロットにプロットしても、対応するバイオリンの確率密度に異常はありませんでした。

1
フィットしたグラフとガンマ分布の実際のグラフを1つのプロットで描画する方法は?
必要なパッケージをロードします。 library(ggplot2) library(MASS) ガンマ分布に適合した10,000個の数値を生成します。 x <- round(rgamma(100000,shape = 2,rate = 0.2),1) x <- x[which(x>0)] xがどの分布に適合するかわからないと仮定して、確率密度関数を描画します。 t1 <- as.data.frame(table(x)) names(t1) <- c("x","y") t1 <- transform(t1,x=as.numeric(as.character(x))) t1$y <- t1$y/sum(t1[,2]) ggplot() + geom_point(data = t1,aes(x = x,y = y)) + theme_classic() グラフから、xの分布がガンマ分布に非常に似ていることがわかるのでfitdistr()、パッケージでを使用してMASS、ガンマ分布の形状と速度のパラメーターを取得します。 fitdistr(x,"gamma") ## output ## shape rate ## 2.0108224880 0.2011198260 ## (0.0083543575) …

2
データのROC曲線を計算する
そのため、ハミング距離を使用して生体認証特性から個人を認証しようとしている16のトライアルがあります。しきい値は3.5に設定されています。私のデータは以下であり、トライアル1のみが真陽性です。 Trial Hamming Distance 1 0.34 2 0.37 3 0.34 4 0.29 5 0.55 6 0.47 7 0.47 8 0.32 9 0.39 10 0.45 11 0.42 12 0.37 13 0.66 14 0.39 15 0.44 16 0.39 私の混乱のポイントは、このデータからROC曲線(FPR対TPR OR FAR対FRR)を作成する方法が本当にわからないということです。どちらでもかまいませんが、どうやって計算するのか混乱しています。任意の助けいただければ幸いです。
9 mathematical-statistics  roc  classification  cross-validation  pac-learning  r  anova  survival  hazard  machine-learning  data-mining  hypothesis-testing  regression  random-variable  non-independent  normal-distribution  approximation  central-limit-theorem  interpolation  splines  distributions  kernel-smoothing  r  data-visualization  ggplot2  distributions  binomial  random-variable  poisson-distribution  simulation  kalman-filter  regression  lasso  regularization  lme4-nlme  model-selection  aic  r  mcmc  dlm  particle-filter  r  panel-data  multilevel-analysis  model-selection  entropy  graphical-model  r  distributions  quantiles  qq-plot  svm  matlab  regression  lasso  regularization  entropy  inference  r  distributions  dataset  algorithms  matrix-decomposition  regression  modeling  interaction  regularization  expected-value  exponential  gamma-distribution  mcmc  gibbs  probability  self-study  normality-assumption  naive-bayes  bayes-optimal-classifier  standard-deviation  classification  optimization  control-chart  engineering-statistics  regression  lasso  regularization  regression  references  lasso  regularization  elastic-net  r  distributions  aggregation  clustering  algorithms  regression  correlation  modeling  distributions  time-series  standard-deviation  goodness-of-fit  hypothesis-testing  statistical-significance  sample  binary-data  estimation  random-variable  interpolation  distributions  probability  chi-squared  predictor  outliers  regression  modeling  interaction 

1
RでのPCAの視覚化:データポイント、固有ベクトル、射影、信頼楕円
私は17人のデータセットを持ち、77のステートメントをランク付けしています。ステートメント間(ケースとして)の人(変数)間の相関の転置相関行列の主成分を抽出したい。奇妙なことに、Qメソドロジと呼ばれています。 データのペアのみの固有値/ベクトルを抽出して視覚化することにより、このコンテキストでPCAがどのように機能するかを説明します。(私の分野では PCAを取得している人はほとんどいないため、QAへの適用はもちろんのこと、私も含まれます)。 私の実際のデータに対してのみ、この素晴らしいチュートリアルからの視覚化が必要です。 これを私のデータのサブセットにしましょう: Person1 <- c(-3,1,1,-3,0,-1,-1,0,-1,-1,3,4,5,-2,1,2,-2,-1,1,-2,1,-3,4,-6,1,-3,-4,3,3,-5,0,3,0,-3,1,-2,-1,0,-3,3,-4,-4,-7,-5,-2,-2,-1,1,1,2,0,0,2,-2,4,2,1,2,2,7,0,3,2,5,2,6,0,4,0,-2,-1,2,0,-1,-2,-4,-1) Person2 <- c(-4,-3,4,-5,-1,-1,-2,2,1,0,3,2,3,-4,2,-1,2,-1,4,-2,6,-2,-1,-2,-1,-1,-3,5,2,-1,3,3,1,-3,1,3,-3,2,-2,4,-4,-6,-4,-7,0,-3,1,-2,0,2,-5,2,-2,-1,4,1,1,0,1,5,1,0,1,1,0,2,0,7,-2,3,-1,-2,-3,0,0,0,0) df <- data.frame(cbind(Person1, Person2)) g <- ggplot(data = df, mapping = aes(x = Person1, y = Person2)) g <- g + geom_point(alpha = 1/3) # alpha b/c of overplotting g <- g + geom_smooth(method = "lm") # just for …

1
時間の経過に伴うスプラインのモデリング—設計マトリックスとアプローチの調査
応答変数yは、いくつかの予測子変数Xの非線形関数です(実際のデータでは応答は二項分布ですが、ここでは簡単にするために正規分布値を使用しています)。スプライン/スムースを使用して、予測子と応答の間の関係をモデル化できます(たとえば、mgcvR のパッケージのGAMモデル)。 ここまでは順調ですね。ただし、それぞれの応答は、時間とともに進化するプロセスの結果です。つまり、予測子Xと応答yの関係は、時間の経過とともに変化します。各応答について、応答の周りのいくつかの時点にわたる予測子のデータがあります。つまり、時点のグループごとに1つの応答があります(応答が時間とともに進化するわけではありません)。 この時点で、いくつかのイラストが役立つでしょう。以下は、既知のパラメーター(以下のコード)を持ついくつかのデータで、ggplot2(GAMメソッドと適切なスムーザーを指定)を使用して、ファセットの時間とともにプロットされます。説明のために、yはx1の2次関数であり、この関係の符号と大きさは時間の関数として変化します。 x2とyの関係は円形であり、特定の方向 x2 でのyの増加に対応します。この関係の振幅は、時間とともに変化します。(gcclotで、 "cc"円形3次スムーザーを指定するgamを使用してモデル化されています)。 2次元スプラインのようなものを使用して、各予測子の(非線形)変化を時間の関数としてモデル化したいと思います。 mgcvパッケージで2次元のスムース(のようなものte(x1,t))を使用することを検討しました。ただし、これには長い形式(つまり、1列の時点)のデータが必要になる場合を除きます。1つの応答がすべての時点に関連付けられているため、これは不適切だと思います-したがって、データを長い形式で配置すると(つまり、同じ応答を設計行列の複数の行に複製すると)、観測の独立性に違反します。私のデータは現在列(y, x1.t1, x1.t2, x1.t3, ..., x2.t1, x2.t2, ...)で配置されており、これが最も適切なフォーマットだと思います。 私が知りたいのですが: このデータをモデル化するより良い方法はありますか もしそうなら、モデルの設計行列/式はどのようになるでしょう。最終的には、JAGSのようなmcmcパッケージでベイジアン推論を使用してモデル係数を推定したいので、2次元スプラインの記述方法を知りたいです。 私の例を再現するRコード: library(ggplot2) library(mgcv) #------------------- # start by generating some data with known relationships between two variables, # one periodic, over time. set.seed(123) nTimeBins <- 6 nSamples <- 500 # the …
8 r  ggplot2  splines  gam 

1
このグラフの線の周りのぼかしはどういう意味ですか?
私は次のコマンドを使用してggplot2をいじって、データに行を合わせました。 ggplot(data=datNorm, aes(x=Num, y=Val)) + geom_point() + stat_summary(fun.data = "mean_cl_boot", geom="errorbar", colour="red", width=0.8) + stat_sum_single(median) + stat_sum_single(mean, colour="blue") + geom_smooth(level = 0.95, aes(group=1), method="lm") 赤い点は中央値、青は平均値、垂直の赤い線はエラーバーを示します。最後のステップとして、geom_smooth線形平滑化を使用して線をフィットするために使用しましたmethod="lm"。ラインに沿って、ラインの周りにも鈍い色合いが生成されました。ドキュメントから削除する方法を見つけましたが、オフにするために使用したオプションは次のとおりです。 se: display confidence interval around smooth? 誰かが私が線の周りの陰から理解すべきことを教えてもらえますか?具体的には、解釈の仕方を理解しようとしています。それはおそらくその行に適したものであるに違いありませんが、追加の情報は私にとって非常に役立つでしょう。助言がありますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.