問題タブ [vegan]

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.

0 投票する
1 に答える
1086 参照

r - Phyloseq ggplot2 オブジェクトでは、特定の要素を追加できません

phyloseq パッケージ (github からダウンロード) によって作成されたプロットを変更したいと思います。Phyloseq プロットは ggplot2 オブジェクトなので、phyloseq で作成されたオブジェクトに ggplot2 オブジェクトを追加することで要素を追加できると思います。場合によってはこれでうまくいきますが、そうでない場合もあります。その理由はわかりません。例えば:

ここで、パッケージ vegan からいくつかの envfit() 矢印をプロットに追加しようとします。ここで前の質問を参照してください。

ただし、これはエラーを返します:「eval(expr、envir、enclos)のエラー:オブジェクト 'id.type'が見つかりません」

別のタイプの ggplot2 要素を追加しようとすると、機能します。

0 投票する
1 に答える
2648 参照

r - ggplot2 を使用したビーガン パッケージからの ordellipse のプロット

作業中のデータに対して ggplot2 を使用して、NMDS 調整プロットを作成したいと考えています。ここにある以前のスタック オーバーフロー スレッドからこれを行う方法の優れた例があります: Plotting ordellipse function from vegan package on NMDS plot created in ggplot2

この関数をこの前のスレッドからコピーして、データに使用しようとしました。ただし、関数を R に渡すと、次のエラー メッセージが表示されます。

array(x, c(length(x), 1L) のエラー、if (!is.null(names(x))) list(names(x), : 'data' はベクトル型でなければなりませんが、'NULL でした'

Vegan パッケージで提供されている砂丘データセットに対して機能する関数を取得できますが、独自のデータセットで障害にぶつかりました。誰にも考えやアイデアはありますか?以下にデータセットへのリンクを提供し、コードも下に貼り付けました。

データを見ることができます: https://docs.google.com/spreadsheets/d/1O2YCapLaCMlCco3-0mZ07_KoJPTfWdjWYudLvMd183Y/edit?usp=sharing

コード:

0 投票する
1 に答える
3347 参照

r - ビーガンアドニス アンバランスデザイン SS タイプ II or III

私は多変量統計の初心者なので、この質問がナイーブであったり、何か重要なことを見逃していたり​​した場合は、ご容赦ください。

アドニス使用時のバランスの悪いデザインの対処法を知りたいです。ストリームの堆積物に存在する微生物群集のデータセットと、ストリーム (4 レベル)、US_DS (2 レベル)、およびシーズン (2 レベル) の因子があります (他の因子もありますが、今のところこれらに固執しています)。たとえば、以下のコード:

残念ながら、設計は不均衡です (複製が 1 つしかないサイトもあれば、最大 3 つあるサイトもあります)。

adonis を実行してみましたが、anodis はタイプ 1 の SS を使用するため、要素を配置する順序によって大きな違いが生じます。1 つの要素を他の要素の前に配置する理由はありません。他の統計パッケージはタイプ II またはタイプ III の二乗和を使用することでこれを回避していること、および使用する SS のタイプに関係なく長所と短所があることを私は知っています。私のデータの性質上、他のより単純な統計テストは実際には適切ではありません。

アドニスでタイプ III のエラーを使用する方法、または適切なテストを見つけるためにタイプ I のエラーとアドニスをそのまま使用する手順があるかどうかを知りたいです。ありがとう

0 投票する
1 に答える
423 参照

r - メモリ不足の R vegan simper 分析

R を使用して大規模なデータセットに対して簡単な分析 (ビーガン パッケージ)を実行しようとしています。データセットが小さいローカル マシン (10 コア、16 GB RAM) で実行することに成功しました。ただし、分析を拡張してより大きなデータセットを含めると、コードは次のようなエラーで終了します。

そこで、Amazon AWS インスタンス (より具体的には、r3.8xlarge インスタンス: 32 コア、244GB RAM) で同じ分析を試みたところ、今回は最も具体的には次のような同じエラーが発生しました。

私が試した両方のシステム(ローカルとAWS)はUbuntuボックスでありsessionInfo()

私が実行している関連するコード行は次のとおりです。

何かご意見は?

0 投票する
2 に答える
3006 参照

r - ビーガン叙階プロットのカスタマイズ

私は100種を含むデータセットを持っているので、プロットするのは非常に悪いです. そこで、これらの種のサブセットを選び出し、それらを RDA プロットにプロットしたいと思います。私はこの ガイドラインに従っています

コードは次のようになります。

これが最終的なプロットです。ここで、いくつかの種をプロットから削除したいと思いますが、分析は削除したくありません。したがって、プロットは Salrep、Viclat、Aloge、および Poatri のようにのみ表示されます。

助けていただければ幸いです。

0 投票する
0 に答える
948 参照

r - ビーガンを使用した PCA + 環境因子 (envfit を使用) の出力プロットの問題

多くの種(12k)といくつかの環境要因(7要因)を含む6つのサンプルからのデータセットがあります。私は種の PCA 調整を行い、環境要因を分析とveganパッケージを使用したプロットに追加しようとしています。私がすることは次のとおりです。

その後

出力は次のとおりです。

そして、サンプル自体と同じ位置に表された「セントロイド」(重複した情報)と、それらを識別できる位置に表された要因の名前のない矢印を含むプロット(端から離れすぎているように見える)矢印の)。

ここに画像の説明を入力

名前を対応する矢印に近づけるにはどうすればよいですか? プロットから「重心」(「要因」) を削除するにはどうすればよいですか?

また、分析を正しく実行したかどうかもわかりません。

どうもありがとう。

0 投票する
1 に答える
364 参照

r - rda anovaで順列数を変更する

anova() 関数を使用して rda モデルの全体的な有意性をテストしようとしていますが、anova を複数回実行すると、毎回異なる p 値が得られるだけでなく、また、異なる順列数を与えます。

Rfpreds<-rda(Rorders ~ Cornyield + Respiration + Nmin + logNase + logBGase + logPase, data=Rfunctions, na.action="na.omit")

anova(Rfpreds)

そのため、より多くの順列を使用して、より一貫した結果が得られるかどうかを確認したかった. 私は R ドキュメントの使用経験が豊富ではありませんが、順列番号を設定できるはずであると理解していました。

anova(Rfpreds, permutations=999)

しかし、それはエラーになります:

match.arg(model) のエラー: 'arg' は NULL または文字ベクトルでなければなりません

ここで何が間違っているのかわかりませんが、コードを実行するたびに p 値が異なる場合、p 値を報告することはできません。

0 投票する
1 に答える
2074 参照

r - ビーガンのアドニス機能が働かない

1つのエラーと戦うのに問題があります。実行しようとしている行は次のとおりです。

失敗メッセージを返します。

aov(data = dset, adiv ~ N+P+K) が正常に機能するため、データセットにはすべて問題ないようです。一部の関数がデータ フレームのディメンションを削除したときにこのようなエラーが発生することは知っていますが、この場合の修正方法はわかりません。

編集。私のデータセットの一部を追加します。

アドニスを実行する前に、治療値を次のように係数に変換します。

次に、関数を実行してエラーを取得しようとします。すでに述べたように、aov() または lm() を試すと、すべてがうまく機能します。