問題タブ [pvclust]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - R における階層的クラスタリング - 「pvclust」の問題
pvclust で問題が発生した再現可能な例を作成しました。私の目標は、階層クラスター樹状図で理想的なクラスターを選択することです。「pvclust」のことは聞いたことがありますが、使い方がわかりません。また、理想的なクラスターを決定するために、これ以外に他の提案があれば、それは本当に役に立ちます。
私のコードが提供されています。
次のようなエラーが表示されました。
r - ロックされた環境で関数を書き換える
を使用pvclust::pvclust
すると、エラーが発生しました
solve.default(crossprod(X, X/vv)) のエラー: Lapack ルーチン dgesv: システムは厳密に特異です: U[2,2] = 0 呼び出し: ... pvclust.merge -> lapply -> FUN -> msfit -> solve -> solve.default 実行停止
crossprod(X, X/vv)
特異行列であっても解析を止めたくないので、で特異かどうかを調べるif {...}
ブロックを に挿入してみました。pvclust::msfit
crossprod(X, X/vv)
matrixcalc::is.singular.matrix
NA
オリジナルに挿入された my.msfit.Rを保存した後、msfit
if(!is.singular.matrix(...)) {...}else{...}
pvclust::msfit
Methods::insertSource('/myFuncDir/my.msfit.R',package="pvclust",functions='msfit')
しかし、私は以下のエラーを得ました
assign(this、thisObj、envir = envwhere) のエラー: 'msfit' のロックされたバインドの値を変更できません。さらに: 警告メッセージ: In Methods::insertSource(filename, package = "pvclust", functions = "msfit", :これらを挿入できません (ソースに見つかりません): "msfit"
解決策はありますか?pvclust
パッケージの作成者に依頼する必要がありますか?
== 以下、投稿後に追記 ==
try/catch 構文を使用するようにコメントで正確なアドバイスが与えられましたが、解決策が得られるとは思いません。
私の英語力の低さについては、状況を伝えるおもちゃのサンプルを提示します。
sum3
はエラーになるので、 を返しfun.a(1,2,3,'Char')
ますerror
。
でも、帰りたい
リスト [sum1, sum2, NaN]
を使用する場合tryCatch(...,error=expr)
、sum1 から sum3(実際にはsolve(...)
内pvclust::msfit
) をラップする必要があります。ただし、fun.a
( msfit
) はロックされた package( pvclust
) の内部関数です。
r - 誰かが R の pvclust 関数からの出力を説明できますか?
Rのpvclust
パッケージには、pvclust()
関数があります。関数のヘルプ ファイルで提供されている例には、次の関数があります。
これは、高い p 値を持つクラスターを出力することになっています。この関数の出力は次のとおりです。
特にクラスター分析の技術的背景が非常に限られているため、出力が何を意味するのかを理解するのに非常に苦労しています。特に、各クラスタの下にある名前のベクトルの意味がわかりません。誰かが私のためにこれを説明できますか? ありがとう!
r - R でリストを名前付きベクトルに変換する
R でパッケージ pvclust を使用してクラスター分析を行いました。結果のクラスター コンポーネントをコマンド「pvpick」で抽出し、8 つのクラスターのリストを作成しました。
次の分析では、クラスタ パッケージの「cuttree」関数を使用したときに得られるような「名前付きベクトル」をこのリストから作成する必要があります。各種の名前 (つまり、「sco.plu」) を名前として使用します。ベクトル内の対応するクラスター番号を使用します。それは次のようになります。
しかし、私はそうする方法を見つけるのに本当に苦労しており、非常にシンプルでエレガントな解決策があるかもしれないと再び感じています.
similarity - pvclust で別の距離法 (simpson) を使用する方法
関数 pvclust を実行しようとしていますが、デフォルトの距離の 1 つを使用する代わりにシンプソンの非類似度を使用しています。pvclust (method.dist) 内に距離関数を含めることはできますか。私はすでにシンプソンの非類似度インテックスをdistとして持っています。パッケージ betapart のオブジェクトであり、これは私が pvclust で使用したいものです。
ありがとう!
python - Python3.6 で rpy2 を使用して pvclust をインポートできない (Jupyter ノートブック)
anaconda で Jupyter ノートブックを使用しており、pvclust を使用してデータの階層的クラスタリングを実行しようとしています。私のコード:
しかし、エラーが発生しました:
最初に pvclust をインストールする必要があるようですか? しかし、anaconda によって起動された jupyter ノートブック (python3.6) を使用しています。このような R パッケージをプリインストールして rpy2 からインポートする方法がわかりません。
PS p値で階層クラスタリングを実行できるPythonパッケージはありますか? 必要なのは、データをブートストラップし、p 値でデータをクラスター化できる関数を使用することだけです。
どうもありがとう。