이 질문에 불충분하게 말하면서 사과하지만, 웹 검색을 몇 시간 동안 해본 후에 나는이 질문에 대해 이전에 대답하지 않았다고 확신합니다. 이 문제가 정확히 무엇을 의미하는지 자세히 설명하기 위해 최선을 다할 것입니다.다중 회귀 분석에서 열 이름을 동적으로 참조합니다.
데이터 세트 요약 : 사용되는 데이터는 파이썬 코드에서 검색되어 개별 CSV 문서에 저장된 재무 데이터 (열기, 높음, 낮음, 닫기)입니다. 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()
모델을 캡처 할 수있는 수식을 실행할 수 있다는 것입니다.
도움이되었던 몇 가지 답변 된 질문이 있습니다. (사과하고, 조직화되어 있지 않으며, 500 가지 방법으로 시도해 보았습니다.) 그러나 해결하지 못한 질문이 있습니다. 가장 가까운 곳은 내가 원하는대로하는 공식이지만, AAPL을 예측할 때 AAPL의 가치를 포함 할 것입니다. 이는 좋은 모델로 이끌지 만 원하는 것은 아닙니다.
그것은 정말 나쁜 아이디어가 있어요 코드를 텍스트로 저장하십시오 (따라서'eval (parse (text = ...))'). 언어로 작업 할 때조차도 표현이나 다른 언어 객체로 작업하는 것이 일반적입니다. – alistaire
@alistaire 나는 동의한다. 그러나 그것은 내가 생각해내는 것이다. –