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

このタグは、(a)質問の重要な部分または予想される回答として「R」が含まれる* on-topic *の質問に使用します。&(b)「R」の使い方について「*」だけではありません。

1
PCAとLDAの説明された分散の割合
PCA(主成分分析)およびLDA(線形判別分析)に関するいくつかの基本的な質問があります。 PCAでは、説明されている分散の割合を計算する方法があります。LDAでも可能ですか?もしそうなら、どうですか? lda関数(R MASSライブラリ内)からの「トレースの割合」出力は、「分散の割合の説明」と同等ですか?

1
glmerで繰り返し測定を説明する方法は?
私のデザインは以下の通りです。 yyyはベルヌーイ応答です バツ1バツ1x_1は連続変数です バツ2バツ2x_2は2つのレベルを持つカテゴリ(変数)変数です 実験は完全に被験者の範囲内です。つまり、各被験者はと各組み合わせを受け取ります。x 2バツ1バツ1x_1バツ2バツ2x_2 これは、反復測定ロジスティック回帰のセットアップです。実験により、と 2つのオジーブが得られます。1 つはレベル1、もう1つはレベル2です。の効果は、レベル2の場合、レベル1と比較して、オギブの勾配がより浅く、切片が増加することです。x 1 x 2 x 2p (y= 1 )p(y=1)p(y=1)バツ1バツ1x_1バツ2バツ2x_2バツ2バツ2x_2 を使用してモデルを見つけるのに苦労していlme4ます。例えば、 glmer(y ~ x1*x2 + (1|subject), family=binomial) 私が理解している限り、その1|subject部分はそれsubjectが変則的な効果であると言っています。しかし、とが反復測定変数であることを指定する方法はわかりません。最後に、被験者のランダム効果を含み、レベル1とレベル2の推定勾配と切片を与えるモデルが必要です。x 2バツ1バツ1x_1バツ2バツ2x_2

2
auto.arimaが季節パターンを認識しない
私は毎日の気象データセットを持っていますが、これは当然のことながら、非常に強い季節効果を持っています。 予測パッケージの関数auto.arimaを使用して、このデータセットにARIMAモデルを適合させました。驚いたことに、この関数は季節性操作、季節性差異、季節性arまたはmaコンポーネントを適用しません。推定したモデルは次のとおりです。 library(forecast) data<-ts(data,frequency=365) auto.arima(Berlin) Series: data ARIMA(3,0,1) with non-zero mean Coefficients: ar1 ar2 ar3 ma1 intercept 1.7722 -0.9166 0.1412 -0.8487 283.0378 s.e. 0.0260 0.0326 0.0177 0.0214 1.7990 sigma^2 estimated as 5.56: log likelihood=-8313.74 AIC=16639.49 AICc=16639.51 BIC=16676.7 また、このモデルを使用した予測は、本当に満足できるものではありません。これが予測のプロットです。 誰かが私にここで何が間違っているのかヒントを教えてくれますか?

2
クラスタリング基準の有害な結果
座標点(経度、緯度)のクラスタリングを実行しましたが、最適なクラスタ数のクラスタリング基準からの驚くべき、不利な結果が見つかりました。基準はclusterCrit()パッケージから取得されます。プロット上でクラスター化しようとしているポイント(データセットの地理的特性がはっきりと見えます): 完全な手順は次のとおりです。 10kポイントで階層的クラスタリングを実行し、2:150クラスターのmedoidを保存しました。 (1)のmedoidを163k観測のkmeansクラスタリングのシードとして取得しました。 最適なクラスター数について、6つの異なるクラスター化基準を確認しました。 2つのクラスタリング基準のみが、私にとって意味のある結果をもたらしました-SilhouetteとDavies-Bouldin基準。どちらの場合も、プロット上で最大値を探す必要があります。どちらも「22クラスタは適切な数です」という答えを与えるようです。以下のグラフの場合:x軸はクラスターの数、y軸は基準の値です。画像の説明が間違っているため、申し訳ありません。SilhouetteとDavies-Bouldin: 次に、Calinski-HarabaszとLog_SSの値を見てみましょう。最大値はプロット上にあります。グラフは、値が高いほどクラスタリングが優れていることを示しています。このような着実な成長は驚くべきことです。150個のクラスターはすでにかなりの数になっていると思います。それぞれCalinski-HarabaszとLog_SSの値のプロットの下。 次に、最も驚くべき部分について、最後の2つの基準について説明します。Ball-Hallの場合、2つのクラスタリング間の最大の差が望ましく、Ratkowsky-Lanceの場合は最大です。Ball-HallとRatkowsky-Lanceのプロット: 最後の2つの基準は、3番目と4番目の基準よりも完全に不利な回答を示します(クラスターの数が少ないほど良い)。そんなことがあるものか?私にとっては、最初の2つの基準だけがクラスタリングを理解できたようです。0.6前後のシルエット幅はそれほど悪くありません。奇妙な答えを出す指標をスキップして、合理的な答えを与える指標を信じるべきでしょうか? 編集:22クラスターのプロット 編集する データが22のグループに非常にうまくクラスター化されていることがわかります。そのため、2つのクラスターを選択する必要があることを示す基準には弱点があるように見え、ヒューリスティックが適切に機能していません。データをプロットできる場合、またはデータを4つ未満の主成分にパックしてプロットできる場合は問題ありません。しかしそうでなければ?基準を使用する以外の方法でクラスターの数を選択するにはどうすればよいですか?CalinskiとRatkowskyが非常に良い基準であることを示すテストを見たことがありますが、それでも一見簡単なデータセットに対しては不利な結果が得られます。したがって、「なぜ結果が異なるのか」ではなく、「これらの基準をどれだけ信頼できるか」という質問ではないでしょうか。 ユークリッドメトリックが適切でないのはなぜですか?それらの間の実際の正確な距離にはあまり興味がありません。私は真の距離が球形であることを理解していますが、すべての点A、B、C、Dについて、Spheric(A、B)> Spheric(C、D)の場合は、Euclidian(A、B)> Euclidian(C、D)よりもクラスタリングメトリックには十分です。 これらのポイントをクラスター化したいのはなぜですか?予測モデルを構築したいのですが、各観測の場所に多くの情報が含まれています。それぞれの観測について、都市と地域も持っています。しかし、都市が多すぎて、たとえば5000の因子変数を作成したくありません。したがって、座標でクラスタリングすることを考えました。異なる領域の密度が異なり、アルゴリズムがそれを見つけたので、それはかなりうまくいきました、22の因子変数は大丈夫でしょう。予測モデルの結果によってクラスタリングの良さを判断することもできますが、これが計算上賢明かどうかはわかりません。新しいアルゴリズムのおかげで、巨大なデータセットで高速に動作する場合は、間違いなく試してみるつもりです。
8 r  clustering 

1
調査デザインカイスクエア
変数が異なるsvydesign()ステートメントの異なる調査からのものである場合に、2変数をカイ二乗検定で比較する方法を知っている人はいますか?調査の2つの波全体の変数分布の違いをテストしようとしていますが、svychisq()ステートメントは1つの設計オブジェクトに限定されています。 2つの変数を新しいにスタックし、集合的な重みをdata.frame使用して新しいsvydesignステートメントを作成してから、テストを実行することは正当ですか?
8 r  chi-squared  survey 

2
Rの複雑な調査の分位点回帰の重み
分位点回帰モデルにサンプルの重みを含めたいのですが、これを行う方法がわかりません。 私はすでに自分の重みを定義しました。これは、調査データセット(調査パッケージで計算)ですでに指定されている複製された重みです。 w<-svrepdesign(variables=data[,1:10],repweights=data[,11:30],type="BRR", combined.weights=TRUE, weights=r.weights, rho=0.5,dbname="") そして私のrqモデルは: rq(y~x,tau=c(.1,.2,.3,.4,.5,.6,.7,.8,.9),data=my.data)) withReplicates関数を使用しようとしましたが、成功しませんでした。助言がありますか?

2
複数の帰属データセットを組み合わせる方法は?
単一の帰属データセットが必要です(たとえば、帰属国の一人当たり所得データから国グループのダミーを作成するため)。Rは、複数の帰属データ(Ameliaなど)を作成し、(MItoolsのように)複数のデータセットの結果を組み合わせるためのパッケージパッケージを提供します。私の懸念は、帰属されたすべてのデータを平均して単一のデータセットを取得できるかどうかです。もしそうなら、どうすればRでそれを行うことができますか?

2
Rを使用して遺伝子リストの重複に複数のテスト補正を適用する方法
同じ薬剤に対する患者の反応を調べた2つの研究があります。研究1では、バックグラウンドを超えて発現する10,000の遺伝子が見つかり、そのうちの500の遺伝子は異なって発現され、薬物応答シグネチャと呼ばれています。研究2では、薬物応答の特徴を表す1,000の遺伝子が見つかりました。2つの署名の重複は100遺伝子です。 署名間のオーバーラップの統計的有意性を計算したい。私が正しく理解している場合、それを行う1つの方法(ここの投稿に基づく:RNA seqとChLPチップデータセットの間の遺伝子リスト重複の確率の計算およびここ:リストの重複確率を取得するためのRのphyperの使用)phyper(): > overlap <- 100 > list1 <- 500 > totalPop <- 10000 > list2 <- 1000 > > 1-phyper(overlap-1, list1, totalPop-list1, list2) [1] 4.103051e-12 それは合理的に聞こえますか? Bonferroni補正を適用したい場合は、このp値に比較回数を掛ける必要があります。この場合、比較の数は何に対応しますか?List2?あるいは、保守的な修正を減らすための迅速な方法は何でしょうか(たとえば、Benjamini-Hochberg)。

2
Rによる大規模なCox回帰(ビッグデータ)
Rのみを使用して、サンプルの2,000,000行のデータセットで次のようにCox回帰を実行しようとしています。これは、SASのPHREGの直接変換です。サンプルは、元のデータセットの構造を表しています。 ## library(survival) ### Replace 100000 by 2,000,000 test <- data.frame(start=runif(100000,1,100), stop=runif(100000,101,300), censor=round(runif(100000,0,1)), testfactor=round(runif(100000,1,11))) test$testfactorf <- as.factor(test$testfactor) summ <- coxph(Surv(start,stop,censor) ~ relevel(testfactorf, 2), test) # summary(summ) ## user system elapsed 9.400 0.090 9.481 主な課題は、元のデータセット(2m行)の計算時間です。私が理解している限り、SASではこれに最大で1日かかる可能性がありますが、少なくとも終了します。 わずか100,000の観測で例を実行すると、わずか9秒しかかかりません。その後、観測数が100,000増加するごとに、時間はほぼ二次関数的に増加します。 私は操作を並列化する手段を見つけていません(たとえば、可能であれば48コアマシンを活用できます) どちらbiglmも革命Analyticsのすべてのパッケージには、Cox回帰のために利用可能である、と私はそれらを活用することはできません。 これをロジスティック回帰(Revolutionにパッケージがある)の観点から、またはこの問題に対する他の代替手段があるかどうかを表す手段はありますか?それらは根本的に異なることは知っていますが、状況に応じて可能性として私が推測できる最も近いものです。

2
連続変数の単純ベイズ
基本的な質問をさせてください。離散変数に対する単純ベイズのメカニズムを理解しており、計算を「手動」でやり直すことができます。(HouseVotes84のコードは以下の通りです)。 ただし-連続変数のメカニズムがどのように機能するかを確認するのに苦労しています(以下のコード例)。パッケージはどのように条件付き確率[, 1]を計算し[, 2]ますか、以下の表を参照してください 個々のX値は一意であるため、各ポイントの周囲に範囲を作成し、これらの範囲内の相対頻度を計算しますか(たとえば、ポイントが+0.311の場合、0.1および+0.5?)これは基本的な質問かもしれません-もしそうなら謝罪します。 テーブル A-priori probabilities: Y blue orange 0.5 0.5 Conditional probabilities: values Y [,1] [,2] blue 0.08703793 0.9238799 orange 1.33486433 0.9988389 コード blue=rep("blue",50); orange=rep("orange",50); colour=c(blue,orange); values1=rnorm(50,0,1); values2=rnorm(50,1,1); values=c(values1,values2) df=data.frame(colour,values) (model <- naiveBayes(colour ~ ., data = df)) (predict(model, df[1:10,])) (predict(model, df[1:10,], type = "raw")) (pred <- …
8 r  naive-bayes  bayes 

1
通常の近似を使用せずに2グループの2項電力分析を実行するにはどうすればよいですか?
比率が非常に小さい比率の(非)等値の仮説検定の検出力分析をしたいと思います。二項分布の正規(またはポアソン)近似を使用せずに、そうしたいと思います。対処できるようにしたいいくつかの一般的な力の質問があります。 事後:(グループ1で成功する確率)と\ Pr_2とN_1(サンプルサイズグループ1)とN_2を指定して、\ alphaを指定した設計の検出力を計算します。Pr1Pr1\Pr_1Pr2Pr2\Pr_2N1N1N_1N2N2N_2αα\alpha \ alpha、比率N_1 \ over {N_2}、1-\ beta(power)、\ alpha、\ Pr_1、および予想される\ Pr_2が与えられた場合のN の事前解NNNαα\alphaN1N2N1N2N_1\over{N_2}1−β1−β1 - \betaαα\alphaPr1Pr1\Pr_1Pr2Pr2\Pr_2 先験的はを解く1−β1−β1 - \beta所与α,N1,N2,Pr1α,N1,N2,Pr1\alpha, N_1, N_2, \Pr_1、およびPr2Pr2\Pr_2。 理想的な応答にはRコードが含まれ、指摘し忘れていた他のすべての指摘を指摘します。比率が小さいため、シミュレーションアプローチは適切な応答ではありません。ソリューションでは、どのような統計的検定が適用できるかについても説明してください。

2
RのOLSとGLSで同じ結果が得られるのはなぜですか?
このコードを実行すると: require(nlme) a <- matrix(c(1,3,5,7,4,5,6,4,7,8,9)) b <- matrix(c(3,5,6,2,4,6,7,8,7,8,9)) res <- lm(a ~ b) print(summary(res)) res_gls <- gls(a ~ b) print(summary(res_gls)) 私は同じ係数と係数の同じ統計的有意性を得ます: Loading required package: nlme Call: lm(formula = a ~ b) Residuals: Min 1Q Median 3Q Max -2.7361 -1.1348 -0.2955 1.2463 3.8234 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) …


3
ROC曲線に鋭いエルボーがあるのはなぜですか?
2つのクラスに対してテストしているいくつかのEEGデータセットがあります。LDAからまともなエラー率を得ることができます(クラス条件付き分布はガウス分布ではありませんが、類似したテールと十分な分離があります)。したがって、LDA予測子のROCを他の対象からのデータセットに対してプロットします。 以下は、単一の試行に対してテストされた予測子の典型的なグラフです。 私はいくつかの異なるパッケージ(pROCとROCR)を試しましたが、結果は一貫しています。私の質問は、鋭い肘とは何ですか?それはLDAによって生成された投影のアーチファクトだけですか、つまり、分類器のパフォーマンスが急落する「崖」が偶然ありますか?

2
事前ヒストグラムによるベイズ分析。なぜ後方からシミュレーションを描くのですか?
これは、ジムアルバートの「Rを使用したベイジアン計算」の演習に関する初心者の質問です。これは宿題かもしれませんが、私の場合はそうではないことに注意してください。私はRでベイズ法を学んでいるので、将来の分析でそれを使用するかもしれないと思うからです。 とにかく、これは特定の質問ですが、おそらくベイズ法の基本的な理解が関係しています。 したがって、エクササイズ2.2では、ジムアルバートがペニースローの実験を分析するように求めています。こちらをご覧ください。事前ヒストグラムを使用します。つまり、可能なp値のスペースを10の長さの間隔で分割し.1、事前確率をこれらに割り当てます。 私は真の確率がになることを知っており.5、宇宙が確率の法則を変更したり、ペニーが頑丈である可能性は非常に低いと思うので、私の事前確率は次のとおりです。 prior <- c(1,5,20,100,5000,5000,100,20,5,1) prior <- prior/sum(prior) 区間中点に沿って midpt <- seq(0.05, 0.95, by=0.1) ここまでは順調ですね。次に、ペニーを20回スピンし、成功(ヘッド)と失敗(テール)の数を記録します。簡単にできます: y <- rbinom(n=20,p=.5,size=1) s <- sum(y==1) f <- sum(y==0) 私の支出では、s == 7そしてf == 13。次に私が理解していない部分があります: (1)(0,1)の値のグリッドでpの事後密度を計算し、(2)グリッドから置き換えてシミュレートしたサンプルを取得することにより、事後分布からシミュレートします。(関数 histpriorとsampleはこの計算に役立ちます)。データに基づいて間隔確率はどのように変化しましたか? これがどのように行われるかです: p <- seq(0,1, length=500) post <- histprior(p,midpt,prior) * dbeta(p,s+1,f+1) post <- post/sum(post) ps <- sample(p, replace=TRUE, …

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