1

重複の可能性:
動的な数の変数を持つ数式

多くの変数を含む線形モデルをフィッティングしており、Rのlm()関数( "Y〜X1 + ... + Xn")の形式に従って動的文字列を自動的に生成したいと考えています。文字列をlm()式にプラグインするので、すべての名前を手動で書き留める必要はありません。

また、応答変数の名前を設定して、文字列の最初の場所に識別されて含まれるようにします( "Y〜 ...")

これは可能ですか?「state.x77」データセットで遊んでいます。「LifeExp」変数を応答として使用したいとします。

    state.x77                            
    str(state.x77)                       
    st = as.data.frame(state.x77)
n=ncol(st) 
4

1 に答える 1

2
names(st) <- make.names(names(st))
y <- "Life.Exp"
x <- names(st)[!names(st) %in% y]
x
y
mymodel <- as.formula(paste(y, paste(x, collapse="+"), sep="~"))
lm(mymodel, data=st)
于 2012-12-30T10:59:16.340 に答える