[解決済み] 変数の型(リスト)が無効です
2022-01-23 21:19:20
質問
Rでアノバモデルを実行しようとしています。3行と12列を含むデータファイルがあります。それぞれの行は、説明変数の特定のレベルのデータです。セル [i,j] は、レベル i の j番目の応答です。ファイルは、拡張子 ".dat" です。私は、3×12のオリジナルのデータフレームの代わりに、アノバ・モデルを実行するための36×2のデータフレームを得るために、次のRコードを実行しています。
data <- read.table("usedcar.dat", row.names = 1)
young <- data[1,]
med <- data[2,]
old <- data[3,]
Price <- c(young, med, old)
Age <- as.factor(c(rep(1,12), rep(2,12), rep(3,12)))
data <- cbind(Age, Price)
data <- as.data.frame(data)
しかし、そこからアノバモデルを取り出そうとすると、無効なリスト型エラーが発生します。
m1 <- aov(Price ~ Age, data = data)
Error in model.frame.default(formula = Price ~ Age, data = data, drop.unused.levels = TRUE) : invalid type (list) for variable 'Price'
何が間違っているのでしょうか?
ここにランダムなマトリックスがありますが、参考になりますか?
replicate(12, rnorm(3))
以下はstr(data)の結果です。
str(data)
'data.frame': 36 obs. of 2 variables:
$ Age :List of 36
..$ 1 : int 1
..$ 2 : int 1
..$ 3 : int 1
...
..$ 36: int 3
$ Price:List of 36
..$ 1 : int 2300
...
..$ 36: int 2075
解決方法は?
tl;dr
データフレームの行はリストであり、数値ベクトルではありません。このような場合
read.table()
のように行列を作っても、問題は再現されません)。
data <- as.data.frame(matrix(rnorm(36),nrow=3))
young <- data[1,]; med <- data[2,]; old <- data[3,]
Price <- c(young, med, old)
str(Price)
## ## List of 36
## ## $ V1 : num 0.648
## ## $ V2 : num 0.157
## ## ...
これが数値ベクトルではなくリストであることが問題です。
これを処理する方法はいろいろあります。 最も簡単なのは
unlist()
:
dd <- data.frame(Age,Price=unlist(Price))
aov(Price~Age,dd)
関連
-
[解決済み】'builtin'型のオブジェクトはsubsetableではない【重複
-
[解決済み】GLM解析での警告
-
[解決済み】Rのメモリ管理/サイズn Mbのベクトルを割り当てられない
-
[解決済み】 if/while (条件) {: TRUE/FALSEが必要な場所に値がない場合のエラー
-
[解決済み】Rはプロットするが、アブラインを描画しない
-
[解決済み] 関数のソースコードを見るにはどうしたらいいですか?
-
[解決済み] リストやデータフレームの要素にアクセスするためのブラケット[ ]とダブルブラケット[[ ]]の違いについて
-
[解決済み] リストをデータフレームに変換する
-
[解決済み] Rでオブジェクト(変数)が定義されているかどうかを確認するには?
-
[解決済み】変数をグループ別に合計する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】R:関数に有限な'ylim'値が必要
-
[解決済み】エラー。Rの次元数が正しくない
-
[解決済み】データのマージ - fix.by(by.x, x)のエラー)
-
[解決済み】Rのメモリ管理/サイズn Mbのベクトルを割り当てられない
-
[解決済み] ヒートマップ作成時のエラー - 外部関数呼び出しでNA/NaN/Inf (arg 11)
-
[解決済み】二項演算子への非数値引数【非公開
-
[解決済み】 .subset2(x, i, exact = exact)のエラー:Rの添え字が範囲外である。
-
[解決済み] na.fail.defaultのエラー:オブジェクトの値が見つからない - しかし、値が見つからないことはありません。
-
[解決済み】seq_alongはうまくいくが、seqが意図しない結果を生む例とは?
-
[解決済み】起動時にパーをデフォルト値にリセットする方法