Có cách đơn giản nào để mở rộng đường chấm chấm từ cuối đường hồi quy rắn đến giá trị được dự đoán không?ggplot: Mở rộng đường hồi qui đến giá trị được dự đoán với các dòng khác nhau
Dưới đây là nỗ lực cơ bản của tôi lúc đó:
x = rnorm(10)
y = 5 + x + rnorm(10,0,0.4)
my_lm <- lm(y~x)
summary(my_lm)
my_intercept <- my_lm$coef[1]
my_slope <- my_lm$coef[2]
my_pred = predict(my_lm,data.frame(x = (max(x)+1)))
ggdf <- data.frame(x = c(x,max(x)+1), y = c(y,my_pred), obs_Or_Pred = c(rep("Obs",10),"Pred"))
ggplot(ggdf, aes(x = x, y = y, group = obs_Or_Pred)) +
geom_point(size = 3, aes(colour = obs_Or_Pred)) +
geom_abline(intercept = my_intercept, slope = my_slope, aes(linetype = obs_Or_Pred))
này không cung cấp cho đầu ra tôi hy vọng có thể nhìn thấy. Tôi đã xem xét một số câu trả lời khác trên SO và chưa thấy bất kỳ điều gì đơn giản. Tốt nhất tôi đã đưa ra là:
ggdf2 <- data.frame(x = c(x,max(x),max(x)+12), y = c(y,my_intercept+max(x)*my_slope,my_pred), obs_Or_Pred = c(rep("Obs",8),"Pred","Pred"), show_Data_Point = c(rep(TRUE,8),FALSE,TRUE))
ggplot(ggdf2, aes(x = x, y = y, group = obs_Or_Pred)) +
geom_point(data = ggdf2[ggdf2[,"show_Data_Point"],] ,size = 3, aes(colour = obs_Or_Pred)) +
geom_smooth(method = "lm", se=F, aes(colour = obs_Or_Pred, linetype=obs_Or_Pred))
Điều này cho kết quả đúng, nhưng tôi phải bao gồm thêm cột xác định có hay không tôi muốn hiển thị các điểm dữ liệu. Nếu tôi không, tôi kết thúc với phần thứ hai của hai lô này, trong đó có một điểm thêm vào cuối của đường hồi quy được trang bị:
Có một cách đơn giản hơn để kể ggplot để dự đoán một điểm duy nhất từ mô hình tuyến tính và vẽ một đường đứt nét với nó?
Phương pháp của bạn có vẻ đơn giản đối với tôi. – Gregor
Nó cảm thấy khó xử khi phải thực hiện các dự đoán trước và sau đó phải xác định các hàng nào sẽ được hiển thị dưới dạng các điểm và đó là các dòng. Nó là tốt khi có một số lượng nhỏ các dự đoán/lần để làm điều đó, nhưng nếu tôi muốn làm điều đó nhiều lần nó sẽ là tẻ nhạt để làm bằng tay. – AodhanOL
Ý tôi là, 'ggplot' là một gói * vẽ *, không phải là gói mô hình hóa. Đó là hoàn hảo tại âm mưu các dữ liệu bạn cung cấp cho nó. 'geom_smooth' là một tiện ích tốt cho các trường hợp sử dụng đơn giản, nhưng khi bạn muốn các mô hình/dự đoán không chuẩn, bạn không nên ngạc nhiên rằng bạn cần cung cấp cho nó dữ liệu bạn muốn vẽ một cách rõ ràng. – Gregor