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

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

1
Rでは、「glmnet」は切片に適合しますか?
を使用してRで線形モデルをフィッティングしていglmnetます。元の(正規化されてlmいない)モデルはを使用してフィットされ、定数項がありませんでした(つまり、の形式でしたlm(y~0+x1+x2,data))。 glmnet予測子の行列と応答のベクトルを取ります。私はglmnetドキュメントを読んでいますが、一定の用語についての言及はありません。 それで、glmnet原点を通して線形適合を強制するように依頼する方法はありますか?
10 r  regression  lasso 

2
等分散性仮定の(非)パラメトリック検定をいつ使用するか?
等分散性の仮定をテストする場合は、パラメトリック(分散の均一性のバートレット検定bartlett.test)とノンパラメトリック(分散の均一性のフィグナー-キリーン検定fligner.test)テストが利用できます。使用する種類を区別する方法は?これは、データの正常性などに依存する必要がありますか?

4
グラフで谷を探す方法は?
私は、基本的に整数の長いリスト(数百万の値)であるゲノムカバレッジデータをいくつか調べています。各整数は、ゲノム内のこの位置がカバーされている(または「深い」)ことを示しています。 このデータで「谷」、つまり周囲の環境よりも大幅に「低い」領域を探したいのですが。 私が探している谷のサイズは、50塩基から数千の範囲であることに注意してください。 それらの谷を見つけるためにどのようなパラダイムを使用することをお勧めしますか? 更新 データのいくつかのグラフィカルな例: アップデート2 谷とは何かを定義することは、もちろん私が苦労している問題の1つです。これらは私にとって明白なものです: しかし、さらに複雑な状況がいくつかあります。一般に、私が検討する3つの基準があります。1.グローバル平均に対するウィンドウ内の(平均?最大?)カバレッジ。2.直接の周囲に関するウィンドウの(...)カバレッジ。3.ウィンドウどのように大規模である:私は短いスパンのために非常に低いカバレッジを見れば、それは私が短いスパンのために軽度の低カバレッジを見れば、それはだ、私は長いスパンのために非常に低いカバレッジを見れば、それはまた面白い、面白いですない本当に面白いです、ただし、長いスパンでカバレッジが少し低い場合-それはそうです。つまり、それは、sapnの長さとカバレッジの組み合わせです。それが長いほど、カバレッジを高くし、それでも谷と見なします。 おかげで、 デイブ

1
手動の多項式展開とRの `poly`関数を使用して異なる予測を取得するのはなぜですか?
手動多項式展開とR poly関数を使用して異なる予測を取得するのはなぜですか? set.seed(0) x <- rnorm(10) y <- runif(10) plot(x,y,ylim=c(-0.5,1.5)) grid() # xp is a grid variable for ploting xp <- seq(-3,3,by=0.01) x_exp <- data.frame(f1=x,f2=x^2) fit <- lm(y~.-1,data=x_exp) xp_exp <- data.frame(f1=xp,f2=xp^2) yp <- predict(fit,xp_exp) lines(xp,yp) # using poly function fit2 <- lm(y~ poly(x,degree=2) -1) yp <- predict(fit2,data.frame(x=xp)) lines(xp,yp,col=2) 私の試み: 切片に問題があるようです。切片を使用してモデルを近似すると、つまり、-1モデルformulaにない場合、2つの線は同じになります。しかし、なぜ切片なしで2つの線が異なるのですか? …

1
cv.glmnet(RでのLASSO回帰)との相互検証を行う方法は?
Rでglmnetを使用してLASSOモデルを適切にトレーニングおよびテストする方法を知りたいのですが? 具体的には、外部テストデータセットがないために交差検証(または他の同様のアプローチ)を使用してLASSOモデルをテストする必要がある場合に、どうすればよいのかと思います。 私のシナリオを分解してみましょう: glmnetモデルに通知してトレーニングするデータセットは1つだけです。その結果、モデルをテストする方法を生成するために、データを分割するために交差検証を使用する必要があります。 私はすでに使用cv.glmnetしていますが、パッケージの詳細によると: glmnetのk分割交差検証を実行し、プロットを生成して、ラムダの値を返します。 交差検証はcv.glmnet、最良のラムダを選択するためだけに実行されますか、それともより一般的な交差検証手順としても機能していますか? 言い換えれば、モデルを「テスト」するために別の相互検証ステップを実行する必要がありますか? 私は「そうです」という前提で作業しています。 その場合、モデルをクロス検証する方法はありcv.glmnetますか? 手動で行う必要がありますか、それともこのcaret関数はglmnetモデルに役立ちますか? ?私は、クロスバリデーションの二つの同心「ループ」を使用しています...ドゥ私は経由CVの「内部ループ」を使用してcv.glmnet最良のラムダ値を決定するために内の各k個のk倍クロスバリデーション処理の「外部ループ」のひだ? すでに相互検証しているcv.glmnetモデルの相互検証を行う場合cv.glmnet、交差検証のその他の「外部ループ」の各フォールド内の各モデルから(「最良の」ラムダ値から)「最良の」モデルを分離するにはどうすればよいですか? 注:「最良の」モデルは、最小値の1 SE以内のMSEを生成するラムダに関連付けられたモデルとして定義しています。これはモデル$lambda.1se内のcv.glmnetです。 環境: 木の直径( "D")、D ^ 2、および種( "factor(SPEC)")に基づいて樹齢( "age")を予測しようとしています。[結果の方程式:Age ~ D + factor(SPEC) + D^2]。私は約5万行のデータを持っていますが、データは縦方向であり(時間を通じて個人を追跡します)、約65種で構成されています。

1
ジェネリックオプティマイザーを使用したglmnet線形回帰の結果の複製
タイトルが示すように、ライブラリのLBFGSオプティマイザーを使用して、glmnet linearの結果を複製しようとしていますlbfgs。このオプティマイザーを使用すると、目的関数(L1レギュラライザー項なし)が凸型である限り、微分可能性について心配する必要なくL1レギュラライザー項を追加できます。 弾性正味線形回帰問題glmnet紙はによって与えられる ここで、X∈RN×pは計画行列であり、Y∈RのPは、観測値のベクトルであり、αは∈[0、1]弾性ネットパラメータであり、λ>0は正則化パラメーターです。オペレータ‖X‖pは、通常のLPノルムを表します。minβ∈Rp12n∥β0+Xβ−y∥22+αλ∥β∥1+12(1−α)λ∥β∥22minβ∈Rp12n‖β0+Xβ−y‖22+αλ‖β‖1+12(1−α)λ‖β‖22\min_{\beta \in \mathbb{R}^p} \frac{1}{2n}\Vert \beta_0 + X\beta - y \Vert_2^2 + \alpha \lambda \Vert \beta\Vert_1 + \frac{1}{2}(1-\alpha)\lambda\Vert\beta\Vert^2_2X∈Rn×pX∈Rn×pX \in \mathbb{R}^{n \times p}y∈Rpy∈Rpy \in \mathbb{R}^pα∈[0,1]α∈[0,1]\alpha \in [0,1]λ>0λ>0\lambda > 0∥x∥p‖x‖p\Vert x \Vert_p 以下のコードは関数を定義し、結果を比較するためのテストを含みます。ご覧のとおり、結果はで許容可能alpha = 1ですが、次のプロットが示すように、alpha < 1.からalpha = 1に行くにつれてエラーが悪化しalpha = 0ます(「比較メトリック」はglmnetのパラメーター推定値間の平均ユークリッド距離です)および特定の正則化パスのlbfgs)。 さて、これがコードです。可能な限りコメントを追加しました。私の質問は:なぜ私の結果はglmnetの値の結果と異なるのalpha < 1ですか?それは明らかにL2正則化用語と関係がありますが、私が知る限り、この用語を論文のとおり正確に実装しました。どんな助けでも大歓迎です! library(lbfgs) linreg_lbfgs <- function(X, y, alpha …

2
Rの2つの多項式回帰の差の統計的有意性を比較する
まず、このフォーラムでいくつかの調査を行いましたが、非常によく似た 質問が行われたことはわかっていますが、通常は適切に回答されていないか、回答の詳細がわからないだけで理解できない場合があります。したがって、今回は私の質問は次のとおりです。2つのデータセットがあり、それぞれに次のような多項式回帰を行います。 Ratio<-(mydata2[,c(2)]) Time_in_days<-(mydata2[,c(1)]) fit3IRC <- lm( Ratio~(poly(Time_in_days,2)) ) 多項式回帰プロットは次のとおりです。 係数は次のとおりです。 > as.vector(coef(fit3CN)) [1] -0.9751726 -4.0876782 0.6860041 > as.vector(coef(fit3IRC)) [1] -1.1446297 -5.4449486 0.5883757 そして、私が知りたいのは、R関数を使用して、関連する日数の間隔が[ 1,100]。 私が理解したことから、値は2つの異なるデータセットからも、モデル/真のデータの比較に使用されるAICからも得られるため、anovaテストを直接適用することはできません。 私は関連する質問で@Rolandによって与えられた指示に従ってみましたが、私の結果を見て、おそらく何かを誤解しました: これが私がしたことです: 両方のデータセットを1つに結合しました。 f@Rolandが話している変動要因です。最初のセットには1を入れ、他のセットには0を入れました。 y<-(mydata2[,c(2)]) x<-(mydata2[,c(1)]) f<-(mydata2[,c(3)]) plot(x,y, xlim=c(1,nrow(mydata2)),type='p') fit3ANOVA <- lm( y~(poly(x,2)) ) fit3ANOVACN <- lm( y~f*(poly(x,2)) ) 私のデータは今このように見えます: 赤いものはfit3ANOVAまだ機能していますがfit3ANOVACN、モデルの奇妙な結果を持つ青いものに問題があります。フィットモデルが正しいかどうかはわかりません。@ Rolandが正確に何を意味するのかわかりません。 @DeltaIVソリューションを考えると、私はその場合を想定し ています。私はそう仮定する権利がありますか?

1
aovモデルの共変量の次数を変更すると、p値の有意性が変化するのはなぜですか?
482観測のデータセットがあります。 data=Populationfull 3つのSNPの遺伝子型関連分析を行います。私は分析用のモデルを構築しようとしていますが、aov(y〜x、data = ...)を使用しています。1つの特性について、次のようにモデルに含めたいくつかの固定効果と共変量があります。 Starts <- aov(Starts~Sex+DMRT3+Birthyear+Country+Earnings+Voltsec+Autosec, data=Populationfull) summary(Starts) Df Sum Sq Mean Sq F value Pr(>F) Sex 3 17.90 5.97 42.844 < 2e-16 *** DMRT3 2 1.14 0.57 4.110 0.017 * Birthyear 9 5.59 0.62 4.461 1.26e-05 *** Country 1 11.28 11.28 81.005 < 2e-16 *** Earnings 1 …
10 r  anova 

4
回帰でlog(0)項を回避する方法
以下の単純なXおよびYベクトルがあります。 > X [1] 1.000 0.063 0.031 0.012 0.005 0.000 > Y [1] 1.000 1.000 1.000 0.961 0.884 0.000 > > plot(X,Y) Xのlogを使用して回帰を実行したいと思います。log(0)を取得しないようにするために、+ 1または+0.1または+0.00001または+0.000000000000001を指定します。 > summary(lm(Y~log(X))) Error in lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) : NA/NaN/Inf in 'x' > summary(lm(Y~log(1+X))) Call: lm(formula = Y ~ log(1 + …

3
「R」におけるグラフクラスタリングのアプローチと例
「r」のグラフクラスタリングを使用して、グラフ内のノードをグループ化/マージしようとしています。 ここに私の問題の驚くほどおもちゃのバリエーションがあります。 2つの「クラスター」があります。 クラスタを接続する「ブリッジ」があります これが候補ネットワークです。 接続距離「ホップカウント」を確認すると、次のマトリックスが得られます。 mymatrix <- rbind( c(1,1,2,3,3,3,2,1,1,1), c(1,1,1,2,2,2,1,1,1,1), c(2,1,1,1,1,1,1,1,2,2), c(3,2,1,1,1,1,1,2,3,3), c(3,2,1,1,1,1,1,2,3,3), c(3,2,1,1,1,1,1,2,2,2), c(2,1,1,1,1,1,1,1,2,2), c(1,1,1,2,2,2,1,1,1,1), c(1,1,2,3,3,2,2,1,1,1), c(1,1,2,3,3,2,2,1,1,1)) ここでの考え: 幸運なことに、またはおもちゃの単純さのために、マトリックスには明らかなパッチがありますが、これは(非常に大きい)マトリックスの場合には当てはまりません。ポイントと行の関係をランダム化した場合、それほどクリーンではありません。 間違っている可能性があります。タイプミスがある場合はお知らせください。 ここでのホップ数は、行iのポイントを列jのポイントに接続するための最短ホップ数です。セルフホップはまだホップなので、対角線はすべて1です。 したがって、このマトリックスでは、距離(ホップ数)が大きいほど数値が大きくなります。距離ではなく「接続性」を示す行列が必要な場合は、行列の各セルをその乗法的逆行列で置き換えるドット逆行列を実行できます。 質問: 私自身の方法を見つけるのを助けるために: それらを組み合わせることによりグラフ上のノードの数を減らすための用語は何ですか?それはクラスタリング、マージ、マンギングですか?私が使うべき言葉は何ですか? 実証済みのテクニックは何ですか?このトピックに関する教科書はありますか?あなたは論文やウェブサイトを指すことができますか? 今、私は最初にここを見てみました-それは素晴らしい「最初のチェック」スポットです。探していたものが見つかりませんでした。見逃した場合(ありそうもないことですが)、CVのトピックに関する1つまたは2つの回答済みの質問を教えていただけますか? 私が行くところに連れて行くには: ネットワーク上のノードを適切にクラスター化する「R」パッケージはありますか? これを行うためのサンプルコードを教えてもらえますか? 結果の削減されたネットワークをグラフィカルに表示する「R」パッケージはありますか? これを行うためのサンプルコードを教えてもらえますか? 前もって感謝します。


3
母集団のr二乗変化の信頼区間を取得する方法
簡単な例のために、2つの線形回帰モデルがあると仮定します モデル1は、3つの予測因子を持っているx1a、x2bと、x2c モデル2には、モデル1からの3つの予測子と2つの追加の予測子がx2aあり、x2b 母集団の分散が説明人口回帰式がある モデル1及びρ 2 (2 )増分分散がある集団におけるモデル2によって説明するモデル2についてΔは、ρ 2 = ρ 2 (2 ) - ρ 2 (1 )ρ2(1)ρ(1)2\rho^2_{(1)}ρ2(2)ρ(2)2\rho^2_{(2)}Δρ2=ρ2(2)−ρ2(1)Δρ2=ρ(2)2−ρ(1)2\Delta\rho^2 = \rho^2_{(2)} - \rho^2_{(1)} 私は、の推定のための標準誤差と信頼区間を得ることに興味を持ってい。例にはそれぞれ3および2の予測子が含まれていますが、私の研究対象は、さまざまな数の予測子(たとえば、5および30)に関係しています。私が最初に考えたのは使用していた Δ R 2 、A D J = R 2 のD J (2 ) - R 2 次元J (1 )推定量として、それをブートストラップが、私は確かに、これは適切であるかどうかではなかったです。Δρ2Δρ2\Delta\rho^2Δr2adj=r2adj(2)−r2adj(1)Δradj2=radj(2)2−radj(1)2\Delta r^2_{adj} = r^2_{adj(2)} - r^2_{adj(1)} ご質問 されたの合理的な推定量Δは、ρ …

1
Rの反復測定ANOVAでエラー項を記述する方法:Error(subject)vs Error(subject / time)
私の質問は、Rの反復測定ANOVAでError()項を指定する以前の投稿に非常に密接に関連してい ます。ただし、エラー項を定義する方法について、もっと洞察を得たいと思います。 私が双方向反復ANOVAを持っているとします。グループ効果間の要因は治療(対照vsプラセボ)ですが、時間は4回(T1〜T4)を繰り返し測定したグループ内効果です。患者IDは件名として記録されます。ここでは、http://gjkerns.github.io/R/2012/01/20/power-sample-size.htmlのチュートリアルの例からデータを借りた ので、データは次のようになります。 Time Subject Method NDI 0min 1 Treat 51.01078 15min 1 Treat 47.12314 48hrs 1 Treat 26.63542 96hrs 1 Treat 20.78196 0min 2 Treat 42.61345 15min 2 Treat 32.77171 分散分析を適用するには: aovComp <- aov(NDI ~ Time*Method + Error(Subject/Time), theData) summary(aovComp) Error: Subject Df Sum Sq Mean Sq F …

3
ウェブサイトを通る経路のパス確率ツリーを構築する
私は現在、Webサイトで分析を行っています。そのため、Webサイトにアクセスしたときに人々がたどる可能性のある経路を示すディシジョンツリー図を作成する必要があります。data.frameホームページから、すべてのお客様のサイトへの経路を表示するa を扱っています。たとえば、顧客は次の方法をとることができます。 Homepage - pg 1 Kitchen Items page - pg 2 Pots and Pans page - pg 3 したがって、この顧客は3ページの移動を行うことになります。私がRでやろうとしていることは、すべての顧客のパスを組み合わせて、サイトの特定のパスをたどる顧客に確率を割り当てることです。たとえば、すべてのパスを調べると、ホームページにアクセスした人の34%が「キッチンアイテムのページ」にアクセスすることがわかりました。Rにはこの機能がありますか? rpartとpartykitパッケージを使用してさまざまなメソッドを調べましたが、それらは役に立たないようです。 このための正しい方向への操縦は非常に高く評価されています!

3
保持する主成分の数の選択
私に提案された1つの方法は、画面プロットを見て、「エルボー」をチェックして、使用するPCの正しい数を決定することです。しかし、プロットが明確でない場合、Rは数を決定するための計算を持っていますか? fit <- princomp(mydata, cor=TRUE)
10 r  pca 

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