問題タブ [lsmeans]
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 - 「数値/複素行列/ベクトル引数が必要です」というエラーを回避する方法は?
最初にテーブルをアップロードします。表には 9 行が含まれており、そのうちの 6 行は要因であり、残りの 3 行は 152 人の個人 (n01、n02、n03) の成長率の個別の測定値です。次に、要因を指定します。
次に、興味のある要素を含む新しいテーブル "r2" にデータフレームを溶かし、na.omit 関数で NA 値を削除します。
r2 は次のようになります。
その後、固定分散を設定し、次のように 2 つの gls モデルを適用して実行します。
モデルの要約と anova を取得できるため、モデルは正常に機能しているようです。次に、次のように、パッケージ emmeans の lsmeans 関数を使用して事後ペアワイズ比較を実行しようとします。
lsmeans は、2 因子モデル mix1 で正常に機能するようです。ただし、モデル mix3 で lsmeans を実行すると、次のエラーが表示されます。
crossprod(x, y) のエラー: 数値/複素行列/ベクトルの引数が必要です
モデルを行列に変換しようとしましたが、lsmeans
関数に対して正しいオブジェクトではありません。また、係数を設定せずに列を数値のままにしてみましたが、同じエラーが表示されます。lsmeans 関数について読んでいるときに、それに関連する crossprod 関数が見つかりません。
r - "%>%" で関数に lsmeans を書き込む
例として "mpg" データを使用して、非関数形式で lsmeans 関数を呼び出すコードを書きました。出力は適切です (以下に示すように)。
コードを関数形式に変更して同じ出力を生成しようとしましたが、データの列は私が書いた関数で認識できませんでした。
私の関数から報告されたエラーは次のとおりです。