저는 다단계 분석의 초보자이며 플롯 기능을 사용하여 그래프를 수행하는 방법을 이해하려고 시도합니다 (base-R
). 나는 아래의 fit
의 출력을 이해하지만 나는 시각화와 함께 투쟁하고있다.다른 색상으로 다단계 분석에서 다른 레벨을 표시하는 방법
t <- seq(0, 10, 1)
df <- data.frame(t = t,
y = 1.5+0.5*(-1)^t + (1.5+0.5*(-1)^t) * t,
p1 = as.factor(rep(c("p1", "p2"), 10)[1:11]))
fit <- lm(y ~ t * p1, data = df)
# I am looking for an automated version of that:
plot(df$t, df$y)
lines(df$t[df$p1 == "p1"],
fit$coefficients[1] + fit$coefficients[2] * df$t[df$p1 == "p1"], col = "blue")
lines(df$t[df$p1 == "p2"],
fit$coefficients[1] + fit$coefficients[2] * df$t[df$p1 == "p2"] +
+ fit$coefficients[3] + fit$coefficients[4] * df$t[df$p1 == "p2"], col = "red")
그것이 p1
을 포함하는 것을 두 개의 선이 있다는 것을 알아야한다 : df
은 몇 가지 간단한 테스트 데이터입니다.
결과는 다음과 같아야합니다
편집가 : est <- predict(fit, newx = t)
이 적합와 같은 결과를 제공하지만, 아직도 내가 "클러스터에"모르는 예측.
편집 2 @Keith : 수식 y ~ t * p1
은 y = (a + c * p1) + (b + d * p1) * t
입니다. "첫 번째 파란색 선"c, d
은 모두 0입니다.
는't' 항상'y'는 같은 것인가? 당신은 항상 단일 요인 컬럼을 갖게 될 것입니까? –
맞는 값을 얻는 더 좋은 방법은'predict()'를 이용하는 것입니다. data.frame을 newdata로 전달하여 예측하고 놀라게 할 수 있습니다. –
@KeithHughitt 아니, 내 진짜 문제는 훨씬 더 복잡해질 것이다. 단순한보기 [여기] (http://stackoverflow.com/questions/40765869/analysis-using-linear-regression-based-on-subgroups). 이 질문의 주요 목적은 "올바른 수의 선으로 그래프를 얻는 방법"입니다. 이 단순한 경우조차도 ('p1'는 2 단계 만 있습니다!) – Christoph