如何在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)