如何在R中创建置信区间图 B C D

如何在R中创建置信区间图 B C D,r,plot,regression,confidence-interval,R,Plot,Regression,Confidence Interval,我需要绘制在回归线附近找到的置信区间结果,但我得到了一个错误。有人能帮我修一下吗。谢谢 您这样做是错误的,因为您在使用命令model=lm(output~,train)开发线性模型时使用了所有变量。但在绘图过程中,您使用的是成本与输出绘图(如b和c的情况),而在d的情况下,您尝试仅使用一个变量(即成本)进行预测。应在观测输出与预测输出之间绘制回归图。为此,您可以使用以下代码 库(晶格) 图书馆(马赛克) #>正在加载所需的包:dplyr #> #>正在附加包:“dplyr” #>以下对象已从“

我需要绘制在回归线附近找到的置信区间结果,但我得到了一个错误。有人能帮我修一下吗。谢谢

您这样做是错误的,因为您在使用命令
model=lm(output~,train)
开发线性模型时使用了所有变量。但在绘图过程中,您使用的是成本与输出绘图(如b和c的情况),而在d的情况下,您尝试仅使用一个变量(即成本)进行预测。应在观测输出与预测输出之间绘制回归图。为此,您可以使用以下代码

库(晶格)
图书馆(马赛克)
#>正在加载所需的包:dplyr
#> 
#>正在附加包:“dplyr”
#>以下对象已从“package:stats”屏蔽:
#> 
#>滤波器,滞后
#>以下对象已从“package:base”屏蔽:
#> 
#>相交、setdiff、setequal、并集
#>加载所需包:ggformula
#>加载所需包:ggplot2
#>正在加载所需的包:ggstance
#> 
#>附加程序包:“GGSTANTE”
#>以下对象被“package:ggplot2”屏蔽:
#> 
#>geom_errorbarh,GeomErrorbarh
#> 
#>新配方奶粉?请尝试以下教程:
#>learnr::run_教程(“简介”,package=“ggformula”)
#>learnr::运行教程(“细化”,package=“ggformula”)
#>加载所需包:马赛克数据
#>加载所需包:矩阵
#>已注册的S3方法被“马赛克”覆盖:
#>方法自
#>加固空间多边形框架ggplot2
#> 
#>“mosaic”包屏蔽了核心包中的几个函数,以便添加
#>附加功能。这些函数的原始行为不应受此影响。
#> 
#>注意:如果您使用矩阵包,请确保在加载马赛克之前加载它。
#> 
#>附加包装:“马赛克”
#>以下对象已从“包:矩阵”中屏蔽:
#> 
#>卑鄙
#>以下对象已从“包:ggplot2”中屏蔽:
#> 
#>统计
#>以下对象已从“package:dplyr”屏蔽:
#> 
#>数一数
#>以下对象已从“package:stats”屏蔽:
#> 
#>binom.test,cor,cor.test,cov,fivenum,IQR,中位数,道具测试,
#>分位数,标准差,t检验,var
#>以下对象已从“package:base”屏蔽:
#> 
#>最大值、平均值、最小值、产品、范围、样本、总和
DF1=read.csv(“Nerlove.csv”,header=TRUE)
压头(DF1,n=5)
#>成本-产出损益-库存-库存-库存-成本-产出sf
#> 1 0.082      2 2.09 0.3164 183 0.4521 17.9 0.2315
#> 2 0.661      3 2.05 0.2073 174 0.6676 35.1 0.1251
#> 3 0.990      4 2.05 0.2349 171 0.5799 35.1 0.1852
#> 4 0.315      4 1.83 0.1152 166 0.7857 32.2 0.0990
#> 5 0.197      5 2.12 0.2300 233 0.3841 28.6 0.3859
拆分=圆形(nrow(DF1)*0.60)
列车=(DF1[1:split,])
测试=(DF1[(拆分+1):nrow(DF1),])
型号=lm(输出~,列车)
摘要(模型)
#> 
#>电话:
#>lm(公式=输出,数据=列车)
#> 
#>残差:
#>最小1季度中值3季度最大值
#> -409.65 -112.20   -4.61   94.20  430.76 
#> 
#>系数:
#>估计标准误差t值Pr(>t)
#>(截距)1182.2961861.876 0.635 0.527
#>成本146.231 6.127 23.866<2e-16***
#>pl 14.897 80.142 0.186 0.853
#>sl-2471.312 1930.034-1.280 0.204
#>pk 1.4771.011 1.460 0.148
#>sk-869.468 1874.585-0.464 0.644
#>pf-13.701 2.365-5.794 1.08e-07***
#>sf-947.958 1861.490-0.509 0.612
#> ---
#>签名。代码:0'***'0.001'***'0.01'*'0.05'.'0.1''1
#> 
#>剩余标准误差:87个自由度上的169.3
#>倍数R平方:0.9111,调整后的R平方:0.904
#>F-统计量:7和87 DF时为127.4,p值:<2.2e-16
#标绘

非常感谢您的时间和回答。这真的很有帮助。但正如我提到的,我已经编辑了数据,在我的数据集中,只有两列,成本和产出。我删除了其他变量,因为我的工作只需要一个观察变量和一个预测变量。在这种情况下…形成我的代码我应该做什么来修复它?你的答案很完美,我只是想知道。再次感谢。
DF1 = read.csv("Nerlove.3.csv",header=TRUE)

head(DF1, n=5)

split = round(nrow(DF1) * 0.60)


train = (DF1[1:split, ])

test = (DF1[(split + 1):nrow(DF1), ])

model = lm(output ~ ., train)

summary(model)

plot(train$cost, train$output, ylab = "Output", xlab = "Cost",main = "....")


abline(model, col=2)
plot(test$cost, test$output, ylab = "Output", xlab = "Cost",main = "....")

model1 = lm(output ~ ., test)

abline(model, col=2)

prediction = predict(model, test)

plot(prediction, main = "....")

abline(model1, col=2)

summary(model1)
library(stats)

X_0 = data.frame(cost = test$cost)

FI_mean = predict(model, newdata = X_0, interval="confidence", level = 0.95)

FI_ind =  predict(model,newdata = X_0, interval = "prediction")

plot(test$cost, test$output, ylab = "Output", xlab = "Cost",main = "....")

abline(model, col=2)

min = test$cost

max = test$cost

newx = seq(min,max)

matlines(newx, FI_mean[,2:3], col = "blue", lty=2)