在R中的线性回归图中插入图形表示

在R中的线性回归图中插入图形表示,r,plot,linear-regression,R,Plot,Linear Regression,嘿,我是R的新手,有个小问题 我有以下由12种不同债券组成的数据集: dput(Synthetic_bond_creation) structure(list(`Days to maturity` = c(1419, 202, 1565, 1182, 2080, 1036, 811, 2436, 1296, 609, 1792, 986), `Yield to maturity` = c(2.699, 0.487, 4.019, 1.421, 2.394, 1.366, 1.107, 2.

嘿,我是R的新手,有个小问题

我有以下由12种不同债券组成的数据集:

dput(Synthetic_bond_creation)
structure(list(`Days to maturity` = c(1419, 202, 1565, 1182, 
2080, 1036, 811, 2436, 1296, 609, 1792, 986), `Yield to maturity` = c(2.699, 

0.487, 4.019, 1.421, 2.394, 1.366, 1.107, 2.717, 1.592, 0.988, 
2.151, 2.278)), .Names = c("Days to maturity", "Yield to maturity"
), class = c("tbl_df", "tbl", "data.frame"), row.names = c(NA, 
-12L))
到目前为止,我得到了以下信息:

library(readxl)
Synthetic_bond_creation <- read_excel("~/UZH/Bachelorarbeit/Synthetic bond 
creation.xlsx")
View(Synthetic_bond_creation)
plot(Synthetic_bond_creation$`Days to maturity`, 
Synthetic_bond_creation$`Yield to maturity`, xlab = "Days to maturity", ylab 
= "Yield to maturity in %", main = "Bonds of 'Societe Generale SA' on 
13.03.2013")
abline(lm (Synthetic_bond_creation$`Yield to maturity` ~ 
Synthetic_bond_creation$`Days to maturity`))
现在,我想构建一个合成的5年期债券,这意味着我需要在回归线上得到到期日x=1300的值和相应的y值

我试着用word来描绘我的目标,如下所示:


虚线应为黑色。

下面是一个使用线性回归预测值和一些阈值的示例,您可以根据自己的情况调整这些值

# data and model
df <- mtcars
model <- lm(disp ~ mpg, data = df)
summary(model)
# plot model
plot(df$mpg, df$disp, xlab = "mpg", ylab = "disp")
pred.val <- predict(model)
lines(df$mpg, pred.val, lty = 1, col = "black")
# set thresholds
xmin <- 0
ymin <-  0
xmax <-  25 # suppose x = 25
ymax <-  as.numeric(predict(model, data.frame(mpg = xmax ))) # use x to get f(x)
# add segments
segments(x0 = xmax, y0 = ymin, x1 = xmax, y1 = ymax,
         lty = 2, col = "black") # vertical segment
segments(x0 = xmin, y0 = ymax, x1 = xmax, y1 = ymax,
         lty = 2, col = "black") # horizontal segment

请使用dputSynthetic\u bond\u creation而不是printshetical\u bond\u creation OK,我编辑了它
# using ggplot
library(ggplot2)
ggplot(mtcars, aes(x = mpg, y = disp))+
        geom_point() +
        geom_line(aes(y = fitted(model))) + 
        geom_segment(aes(x = xmax, # vertical segment
                         xend = xmax,
                         yend = ymax),
                     y = 0,
                     linetype = "dashed") + 
        geom_segment(aes(y = ymax, # horizontal segment
                         xend = xmax,
                         yend = ymax),
                     x = 0,
                     linetype = "dashed")