この質問の文章が間違っていますが、ウェブを検索して時間がたっても私はこの質問に対して以前は答えられていないと思います。私は、この問題が何を伴うのかを詳しく説明するために最善を尽くします。複数の線形回帰(lm())の列名を動的に参照しています
データセットの概要: 使用されているデータは、Pythonコードから取得され、個々のCSVドキュメントに保存された財務データ(Open、High、Low、Close)です。 lapply
を使用して、文書を読み取り、保存しました。簡単にするために、私は現在、毎日のパーセンテージの変更、または(閉じる/シフト(閉じる)) - 1に焦点を当てています。この問題のために、私はデータからNA
と完全ではないティッカーを削除しました。
私は1000列(日)にわたる98列(テロップ)のデータフレーム(リストから変換)を持っています。データフレーム/マトリックス内の値は、毎日、各ティッカーの毎日のパーセンテージの変更です。
目的: 私は他のすべての列(~ .
)を使用して、動的に列名を参照して、各列の上にlm()
式を適用する方法を知りたいです。
サンプルデータセット:
lm_aapl <- lm(AAPL ~ ., data=df)
しかし、私は動的エラーに実行せずに、列名を参照する方法を見つけることができなかった:次の操作を行うために十分に簡単です
aapl_pct_chg <- c(.02, .03, .01, -.05, -.01)
tmus_pct_chg <- c(-.01, -.02, .05, .01, -.03)
akam_pct_chg <- c(.1, -.2, .3, -.03, -.07)
intc_pct_chg <- c(.01, .03, .02, .01, .1)
de_pct_chg <- c(-.01, -.05, .05, .1, -.03)
df <- as.data.frame(cbind(aapl_pct_chg, tmus_pct_chg, akam_pct_chg, intc_pct_chg, de_pct_chg))
names(df) <- c("AAPL", "TMUS", "AKAM", "INTC", "DE")
。つまり、各列にlm()
モデルをキャプチャする式を1つおきに実行することができ、それ以外の列を使用することができます。
いくつかの回答のある質問があります(私は謝罪していますが、私は組織化されておらず、500種類の方法でこれを試しています)が、それを解決したものはありません。私が一番近かったのは、私が望むことをする式ですが、AAPLを予測するときのAAPLの値が含まれます。これは良いモデルにつながりますが、私が望むものではありません。
それは本当に悪いアイデアがしますコードをテキストとして格納します(したがって 'eval(parse(text = ...))')。言語を操作している場合でも、式や他の言語オブジェクトを扱うほうが普通です。 – alistaire
@alistaire私は同意しますが、それは私が思いついたものです。 –