1

私は時々、モデルで使用した変数をベクトル化し、それを使って他のことを行います (例: 記述など...)。問題は、「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() を削除することに本当の問題を抱えています。助言がありますか?

よろしくお願いします

4

0 に答える 0