[解決済み] エラーです。ロジスティック回帰でcaret()を使用する場合、`x`の列名を使用してください。
2022-02-16 03:53:06
質問
caretパッケージを使ってロジスティック回帰モデルを構築したい。
これは私のコードです。
library(caret)
df <- data.frame(response = sample(0:1, 200, replace=TRUE), predictor = rnorm(200,10,45))
outcomeName <-"response"
predictors <- names(df)[!(names(df) %in% outcomeName)]
index <- createDataPartition(df$response, p=0.75, list=FALSE)
trainSet <- df[ index,]
testSet <- df[-index,]
model_glm <- train(trainSet[,outcomeName], trainSet[,predictors], method='glm', family="binomial", data = trainSet)
エラーが表示される
Error: Please use column names for x
.
を置き換えると、同じエラーが発生します。
trainSet[,predictors]
をカラム名
predictors
.
解決方法は?
残念ながらRは、以下のように1つの列だけをサブセットする場合、厄介な動作をします。
df[,1]
に変更することができます。
vector
予測変数は1つだけなので、この機能に遭遇しました。 結果を
data.frame
のどちらかによって
trainSet[,predictors, drop = FALSE]
または
trainSet[predictors]
ところで、このコードには、さらに2つの問題があります。
- 第一引数は、response ではなく predictors であるべきです。
-
によるロジスティック回帰の場合
caret
の場合、応答はfactor
完全なコードであること。
library(caret)
df <- data.frame(response = sample(0:1, 200, replace=TRUE),
predictor = rnorm(200,10,45))
df$response <- as.factor(df$response)
outcomeName <-"response"
predictors <- names(df)[!(names(df) %in% outcomeName)]
index <- createDataPartition(df$response, p=0.75, list=FALSE)
trainSet <- df[ index,]
testSet <- df[-index,]
model_glm <- train(trainSet[predictors], trainSet[[outcomeName]], method='glm', family="binomial", data = trainSet)
*変更
trainSet[,outcomeName]
から
trainSet[[outcomeName]]
への変換をより明示的に行うことができます。
vector
関連
-
[解決済み】エラー:'dimnames' [2]の長さが配列の範囲と等しくない [終了しました]
-
[解決済み] 変数の型(リスト)が無効です
-
[解決済み】プロット時に 'x' と 'y' の長さが異なる ERROR が発生する。
-
[解決済み] テスト
-
[解決済み】Rで立方根と対数変換をする
-
[解決済み】R Markdown - html出力でフォントサイズとフォントタイプを変更する
-
[解決済み】「'dimnames' [1]の長さが配列の範囲と等しくない」とはどういう意味ですか?
-
[解決済み】ロジスティック回帰 - eval(family$initialize) : y 値は 0 <= y <= 1 である必要があります。
-
[解決済み】R: predict() の数値 'envir' 引数が長さ1でない。)
-
[解決済み】エラー - replacement has [x] rows, data has [y].
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】"置換する項目数が置換長の倍数でない "と表示されるのはなぜですか?
-
[解決済み] promise already under evaluation: recursive default argument reference or earlier problems?
-
[解決済み】「次のオブジェクトは 'package:xxx' からマスクされています」とはどういう意味ですか?
-
[解決済み】Rでの関数の最適化(L-BFGS-Bでは'fn'に有限の値が必要)。
-
[解決済み】apply()とadply()の出力が異なる件)
-
[解決済み】R ggplot2 で scale_x_discrete を使用する。
-
[解決済み】Rで文字ベクトルから引用符を削除する
-
[解決済み】R: predict() の数値 'envir' 引数が長さ1でない。)
-
[解決済み】 if/while (条件) {: TRUE/FALSEが必要な場所に値がない場合のエラー
-
[解決済み】エラー - replacement has [x] rows, data has [y].