私は時々、モデルで使用した変数をベクトル化し、それを使って他のことを行います (例: 記述など...)。問題は、「as.numeric(var)」または「as.factor(var)」、または「I(var-15)」を中心に使用することがあることです。次に、元の変数の名前が必要です。
問題は、エラーが発生するため、単に gsub(lmfit$model,"as.factor(","") ) を実行できないことです。I などを含む変数を削除することは避けたいので、削除する必要があります。 I(* -any number) と as.factor(*) で、* は変更しないでおきたい変数名です。
モデルからの係数のベクトルがあるとしましょう:
outcome <- c(1:9)
INDEX <- c(18,17,15,20,10,20,25,13,12)
BODYFAT <- c(18,18,15,20,20,20,15,20,15)
lmfit <- glm(outcome ~ as.factor(BODYFAT) + I(INDEX-15), family = gaussian())
names(lmfit$model)
元の変数名 (つまり、BODYFAT と INDEX?
すべてのセンタリング番号を削除するために、いくつかの不格好なコードの作成を開始しました (ほとんどの場合、1 から 500 で十分であると仮定します)。
b<-paste(paste0("- ",1:500,"|",collapse=""),"-501",collapse="")
library(stringr)
str_replace_all(names(lmfit$model),b, " ")
しかし、私は I() と as.factor() を削除することに本当の問題を抱えています。助言がありますか?
よろしくお願いします