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

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

1
ボックスプロットのノンパラメトリック多重比較の重要な結果を強調表示
1つのプロットで表示する13グループのボックスプロットがあります。グループの人口は不均衡で、通常は分布していません。一致するボックスの上にa、b、cなどを配置して、どのペアが統計的に類似している(つまり、kruskal.testのp値が0.05未満である)かを示したいと思います。ここに私が持っているものを示すための疑似コードがあります: A = c(1, 5, 8, 17, 16, 3, 24, 19, 6) B = c(2, 16, 5, 7, 4, 7, 3) C = c(1, 1, 3, 7, 9, 6, 10, 13) D = c(2, 15, 2, 9, 7) junk = list(g1=A, g2=B, g3=C, g4=D) boxplot(junk) 私が見つけたプロットは次のとおりです(1つの行に13個のグループがあることを除いて)。

1
固定効果なしでlmerモデルを指定することは可能ですか?
Rでは、グローバル固定効果なしでlmerモデルをどのように指定しますか?たとえば、私が次のようなことを言った場合 lmer(y ~ (1 | group) + (0 + x | group), data = my_df) 適合モデルは yij=a+αi+βixijyij=a+αi+βixijy_{ij} = a + \alpha_{i} + \beta_{i} x_{ij} モデルの適合方法 yij=αi+βixijyij=αi+βixijy_{ij} = \alpha_{i} + \beta_{i} x_{ij}?

3
R lme4またはnlmeパッケージを使用した変量効果の推定とユーザー定義の相関/共分散構造の適用
以下の種類のデータがあります。私はそれぞれ10回繰り返された10人の個人を評価しました。私は10x10の関係マトリックス(個人のすべての組み合わせ間の関係)を持っています。 set.seed(1234) mydata <- data.frame (gen = factor(rep(1:10, each = 10)), repl = factor(rep(1:10, 10)), yld = rnorm(10, 5, 0.5)) この世代はさまざまな種類の植物であるため、それぞれを繰り返し栽培して、収量を測定できます。共分散行列は、個別の実験でibd確率によって計算された遺伝的類似性による関連性の尺度です。 library(lme4) covmat <- round(nearPD(matrix(runif(100, 0, 0.2), nrow = 10))$mat, 2) diag(covmat) <- diag(covmat)/10+1 rownames(covmat) <- colnames(covmat) <- levels(mydata$gen) > covmat 10 x 10 Matrix of class "dgeMatrix" 1 2 …
9 r  mixed-model 

2
負のy値による指数関数的減衰の近似
高い減衰値で負になるy値に指数関数的減衰関数を適合させようとしていますが、nls関数を正しく構成できません。 目的 減衰関数の傾きに興味があります(いくつかの情報源によると)。この勾配をどのように取得するかは重要ではありませんが、モデルはできる限りデータに適合している必要があります(つまり、適合が良好であれば、問題の線形化は許容可能です。「線形化」を参照してください)。しかし、このトピックに関するこれまでの研究では、次の指数関数的減衰関数を使用しています(Stedmon et al。によるクローズドアクセスの記事、方程式3)。λλ\lambda f(y)=a×exp(−S×x)+Kf(y)=a×exp(−S×x)+Kf(y) = a \times exp(-S \times x) + K ここSで、私が関心を持っている勾配は、K負の値とa初期値x(つまり切片)を許可するための補正係数です。 私はこれをRで行う必要があります。発色団溶存有機物 (CDOM)の生の測定値を研究者が興味のある値に変換する関数を書いているからです。 データの例 データの性質上、PasteBinを使用する必要がありました。例えば、データはこちらから入手できます。 書くdt <-とあなたのRコンソールにコードFOMペーストビンをコピーします。すなわち dt <- structure(list(x = ... データは次のようになります。 library(ggplot2) ggplot(dt, aes(x = x, y = y)) + geom_point() 場合、負のy値が発生します。x>540nmx>540nmx > 540 nm を使用して解決策を見つけようとしています nls を使用nlsして最初に試行すると、特異性が生じます。これは、パラメータの開始値を目で確認しただけであっても、驚くことではありません。 nls(y ~ a * exp(-S * …
9 r  model  exponential 

2
モデルを比較するための分散分析
RでのGAMに関するワークショップについては、このサイトを見ています。http://qcbs.ca/wiki/r_workshop8 セクションの最後に、3つの異なるモデルを比較して最適なモデルを決定するため2. Multiple smooth termsに使用する例を示しanovaます。出力は Analysis of Deviance Table Model 1: y ~ x0 + s(x1) Model 2: y ~ x0 + s(x1) + x2 Model 3: y ~ x0 + s(x1) + s(x2) Resid. Df Resid. Dev Df Deviance Pr(>Chi) 1 394.08 5231.6 2 393.10 4051.3 0.97695 1180.2 < …
9 r  anova  gam  mgcv 

1
GAMパラメータのタイプを選択する方法
私はRでGAMの使用を開始し、このトピックに関する優れた本(「一般化された加法モデル、Rの概要」)を入手しました。彼の例の1つに基づいて、私は以下を調べています。 library(mgcv) data(trees) ct1<-gam(log(Volume) ~ Height + s(Girth), data=trees) この例には2つの一般的な質問があります。 モデル推定の変数がいつパラメトリック(高さなど)である必要があるのか​​、またはそれがスムーズである必要があるのか​​(ガースなど)をどのように決定しますか?一方が他方よりも有利であり、変数の最適な型が何かを決定する方法はありますか?このトピックについて誰かが文学を持っているなら、私はそれを知って幸せです。 私はの重みを詳しく見てみたいと言いますct1:ct1$coefficients。それらを- gamプロシージャの出力として使用できますか、それとも、適切であるという前提で、分析する前に変換する必要がありlog(Volume)ますか?後者の場合、私は使用する必要があると思いますexp (ct1$coefficients)

1
負の二項分布を大量のデータに適合させる
約100万のデータポイントがあります。ここにファイルdata.txtへのリンクがあります。それらのそれぞれは0から145までの値を取ることができます。これは離散データセットです。以下は、データセットのヒストグラムです。X軸はカウント(0-145)であり、Y軸は密度です。 データのソース:空間に約20の参照オブジェクトと100万のランダムオブジェクトがあります。これらの100万個のランダムオブジェクトのそれぞれについて、これらの20個の参照オブジェクトに対してマンハッタン距離を計算しました。しかし、私はこれら20の参照オブジェクトの中で最短距離のみを考慮しました。だから私は100万のマンハッタン距離を持っています(あなたはポストで与えられたファイルへのリンクで見つけることができます) Rを使用して、ポアソン分布と負の2項分布をこのデータセットに適合させようとしました。負の2項分布から生じる適合は妥当であることがわかりました。以下は、フィットした曲線です(青色)。 最終目標:この分布を適切にフィッティングしたら、この分布を距離のランダム分布と見なしたいと思います。次回、任意のオブジェクトからこれらの20個の参照オブジェクトまでの距離(d)を計算すると、(d)が有意であるか、ランダム分布の一部であるかを知ることができます。 適合度を評価するために、負の二項適合から得られた観測頻度と確率を使用して、Rを使用してカイ2乗検定を計算しました。青い曲線は分布にうまく適合していますが、カイ2乗検定から戻るP値は非常に低くなっています。 これは私を少し混乱させました。関連する質問が2つあります。 このデータセットの負の二項分布の選択は適切ですか? カイ2乗検定のP値が非常に低い場合、別の分布を検討する必要がありますか? 以下は私が使用した完全なコードです: # read the file containing count data data <- read.csv("data.txt", header=FALSE) # plot the histogram hist(data[[1]], prob=TRUE, breaks=145) # load library library(fitdistrplus) # fit the negative binomial distribution fit <- fitdist(data[[1]], "nbinom") # get the fitted densities. mu and size from …

1
群集の写真の人数を測定するにはどうすればよいですか?
背景:イスラエル(そして一般的に中東)は抗議に満ちています。 写真を与えられたら、その写真に何人の人がいるかを推定することに興味があります(多くの場合、大群衆の写真)。 この問題に対して何らかの解決策を提供できるモデリングは何ですか?(そしてもちろん、それは任意のオープンソースパッケージで実行できます。たとえば、Rですか?)

2
メタ分析モデルをブートストラップするときの二峰分布の原因
@Wolfgangが作成したmetafor Rパッケージフレームワークを使用して、同僚がメタ分析混合効果モデルをブートストラップするのを支援します。 興味深いことに、心配なことに、モデルの係数の1つについて、ブートストラップ時に二峰性分布が得られます(下図の右下のパネルを参照)。 主な原因の1つは、ブートストラップ時に、モデルの半分がローカルソリューションに収束し、残りの半分が別のソリューションに収束することであると考えられます。このmetaforドキュメント-rma ()関数での収束問題)で提案されているように、収束アルゴリズムを調整しようとしました。また、rma.mv関数のヘルプドキュメントで提案されているようなbobyqa、他の収束アルゴリズムを試しましたが、同じバイモーダル応答が得られました。newuoa 「ブートストラップ相関のマルチモーダル分布を解釈する方法」で提案されているように、問題のあるグループからいくつかの潜在的な外れ値を排除しようとしましたが、役に立ちませんでした。 データの因子レベルを変更してGitHubにアップロードする以外に、これを再現する方法を見つけることができませんでした(以下のリンクは、ケースのテストに必要なすべてを環境にロードする必要があります)。Linuxクラスターでブートストラップを配列ジョブとして実行します(念のため、シェルスクリプトはjob.shです。これは、各CPUで、以下で説明するモデルを実行するRスクリプトbootstrap.rを実行します)。1回の実行には2〜3分かかります。二峰性応答を検出するには、100回のブートストラップでも十分であることに注意してください。以下は1000回の反復の例です。私はRや他の方法に精通していますが、メタ分析にはそれほど詳しくありません。 二峰性の分布に問題がないかどうか(収束の問題が原因である可能性があります)を理解し、そうでない場合は、どうすればよいですか?(私がすでに試したこと以外に) 以下-ブートストラップ(赤い線)と単一の完全なモデル実行(青い線)からの係数を比較します。ヒストグラムは、各係数のブートストラップ分布を示しています。ブートストラップ用のデータのサンプリングは、2つの固定効果によって形成された各グループ/組み合わせからの置換で選択することで行われました。生のサンプルサイズは次のとおりです。 table(dt$f1, dt$f2) #> #> f2_1 f2_2 f2_3 #> f1_1 177 174 41 #> f1_2 359 363 107 library(data.table) library(ggplot2) library(metafor) #> Loading required package: Matrix #> Loading 'metafor' package (version 2.0-0). For an overview #> and introduction to the package please …

2
GAMの連続予測子とカテゴリー予測子の間の相互作用をモデリングするさまざまな方法
次の質問は、このページでの議論に基づいています。応答変数y、連続説明変数x、および因子facを指定するxとfac、引数間の相互作用を使用して、一般的な加法モデル(GAM)を定義できますby=。Rパッケージのヘルプファイル ?gam.modelsによるとmgcv、これは次のように実行できます。 gam1 <- gam(y ~ fac +s(x, by = fac), ...) ここで@GavinSimpsonは別のアプローチを提案しています。 gam2 <- gam(y ~ fac +s(x) +s(x, by = fac, m=1), ...) 私は3番目のモデルで遊んでいます: gam3 <- gam(y ~ s(x, by = fac), ...) 私の主な質問は次のとおりです。これらのモデルのいくつかは間違っているのですか、それとも単に異なるのですか?後者の場合、それらの違いは何ですか? 以下で説明する例に基づいて、それらの違いのいくつかは理解できたと思いますが、それでも何か不足しています。 例として、異なる場所で測定された2つの異なる植物種の花の色スペクトルを持つデータセットを使用します。 rm(list=ls()) # install.packages("RCurl") library(RCurl) # allows accessing data from URL df <- …
8 r  interaction  gam  mgcv 

4
モデルを検証するためにデータをサブセット化することは必須ですか?
モデルの検証に関して、上司と同じページを表示するのに苦労しています。私は残差を分析し(近似値に対して観察された)、これを引数として使用してモデルによって得られた結果を議論しましたが、上司は、モデルを検証する唯一の方法はデータのランダムなサブセットを作成することであると主張し、 70%のモデルを生成し、残りの30%にモデルを適用します。 実は、私の応答変数はゼロに膨らんでいて(その85%、より正確にするため)、結果に収束するのはすでに非常に難しいので、サブセットを作成しない方がいいです。 だから、私の質問は:モデルを検証するための可能な(そして科学的に受け入れられる)方法は何ですか?データのサブセット化は唯一の方法ですか?可能であれば、質問を記事や本で参照してください。そうすれば、選択肢を提示するときに、それを引数として使用できます。

1
plmを使用して推定された、入れ子になったエラーコンポーネントを含む、反復測定FEモデルのグループの比較
plmを使用して、グループ化変数、つまり非ネストモデルに基づいて、ネストされたエラーコンポーネントを含むいくつかの反復測定Fixed Effectsモデルを推定しました。今興味がある 完全なモデルが有意に異なる場合、テストは、すなわち満杯のためのモデルであるとの完全なモデルであり、そして β FのEのM A L E β M のL EHo:βFe m a l e= βMリットルのEHo:βFeメートルale=βMaleH_o: \beta_{Female} = \beta_{Male}βFe m a l eβFeメートルale\beta_{Female}FemalesβMリットルのEβMale\beta_{Male}Males 続いて、2つのグループ間で選択した回帰係数をテストします。つまり、ここで、はの回帰係数ですat 、およびはatの男性の回帰係数です。Ho:βFe m a l e = = ye a r 1.5= βMa l e = = ye a r 1.5Ho:βFeメートルale==year1.5=βMale==year1.5H_o: \beta_{Female == year1.5} = \beta_{Male …

1
ビッグデータ設定のランダムフォレスト
5,818,446行と51列のデータセットがあり、そのうちの50が予測変数です。私の応答は定量的であるため、回帰モデルに興味があります。キャレットパッケージを使用して、ランダムフォレストをデータに適合させようとしています。しかし、それを行うのに十分なRAMがありません。 私は自分の問題の解決策を探していました。より強力なコンピューターを持っていることに加えて、バギングを利用して問題を解決できるようです。したがって、私の考えは次のとおりです。 元のデータセットからトレーニングパーティションとテストパーティションの両方を作成する 電車のデータセットの一部をRに置き換えたサンプル(その1%、つまり58,185行としましょう) データのこの小さな部分にランダムフォレストを当てはめる モデル結果を保存する 手順2〜4を1,000回繰り返します 手順2〜5から取得したこれらの1,000モデルを組み合わせる ただし、ランダムフォレスト自体はバギングを使用してモデルをデータに適合させているため、私のアプローチが正しいかどうかはわかりません。したがって、いくつか質問があります。 i)私のアプローチは正しいですか?つまり、システムに十分なRAMがないため、さまざまなランダムフォレストモデルをさまざまなデータチャンクに適合させ、それらを後で結合することは正しいのでしょうか。 ii)私のアプローチが正しいと仮定すると、データの1%がサンプルサイズの良い目安になりますか?データの1%でも、ます。N » Pん≫pn \gg p iii)私のアプローチが正しいと仮定すると、使用する必要のあるモデルのレプリケーションは多数ありますか?理由で1,000個と思いました。

1
密度が変化するポイントから予想される最小距離
原点の周りのランダムな点の密度(単位平方あたりの点)の密度を増加させると、ランダムに均一な点と原点の間の予想される最小ユークリッド距離がどのように変化するかを調べています。そのように説明された2つの間の関係を思いつくことができました。 Expected Min Distance=12Density−−−−−−√Expected Min Distance=12Density\text{Expected Min Distance} =\frac{1}{2\sqrt{\text{Density}}} 私は、Rでいくつかのモンテカルロシミュレーションを実行し、手動で曲線をフィッティングすることでこれを思いつきました(以下のコード)。 私の質問は次のとおりです。実験ではなく理論的にこの結果を導き出すことができましたか? #Stack Overflow example library(magrittr) library(ggplot2) #--------- #FUNCTIONS #--------- #gen random points within a given radius and given density gen_circle_points <- function(radius, density) { #round radius up then generate points in square with side length = 2*radius c_radius <- ceiling(radius) …

4
すべての係数を0に縮小する投げ縄を解釈する方法は?
Lassoを使用して特徴選択を実行している338個の予測子と570個のインスタンス(残念ながらアップロードできません)のデータセットがあります。特に、次のcv.glmnetfrom関数を使用しglmnetています。ここmydata_matrixで、は570 x 339のバイナリマトリックスで、出力もバイナリです。 library(glmnet) x_dat <- mydata_matrix[, -ncol(mydata_matrix)] y <- mydata_matrix[, ncol(mydata_matrix)] cvfit <- cv.glmnet(x_dat, y, family='binomial') このプロットは、すべての変数がモデルから削除されたときに最小の逸脱が発生することを示しています。これは本当に、インターセプトを使用するだけで、単一の予測子を使用するよりも結果を予測しやすいのか、それともおそらくデータまたは関数呼び出しで誤りを犯したのか? これは前の質問と似ていますが、何も返答がありませんでした。 plot(cvfit)

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