R の manova 関数を使用して多変量 ANOVA を実行しようとしています。私の問題は、依存変数のリストをすべて手動で入力せずに渡す方法を見つけようとしていることです。名前。私のデータは、「単位」が従属変数 (因子) であるデータ フレームにあり、残りの列はさまざまな数値応答変数です。例えば
unit C_pct Cln C_N_mol Cnmolln C_P_mol N_P_mol
1 C 48.22 3.88 53.92 3.99 3104.75 68.42
2 C 49.91 3.91 56.32 4.03 3454.53 62.04
3 C 50.75 3.93 56.96 4.04 3922.01 69.16
4 SH 50.72 3.93 46.58 3.84 2590.16 57.12
5 SH 51.06 3.93 43.27 3.77 2326.04 53.97
6 SH 48.62 3.88 40.97 3.71 2357.16 59.67
manova 呼び出しを次のように記述した場合
fit <- manova(cbind(C_pct, Cln) ~ unit, data = plots)
それは正常に動作しますが、列の長いリストを1つずつ名前を付けずに渡すことができるようにしたいと思います。
fit <- manova(cbind(colnames(plots[5:32])) ~ unit, data = plots)
また
fit <- manove(cbind(plots[,5:32]) ~ unit, data = plots)
エラーが発生します
"Error in model.frame.default(formula = as.matrix(cbind(colnames(plots[5:32]))) ~ :
variable lengths differ (found for 'unit')
cbind の使い方が間違っているためだと思いますが、わかりません。どんな助けでも大歓迎です!フォーマットが荒い場合は申し訳ありませんが、これは投稿された最初の質問です。
編集:両方の方法(実際には3つすべて)が機能します。皆さんありがとう!