Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 确认间隔在ggplot中延伸至零以下_R_Ggplot2 - Fatal编程技术网

R 确认间隔在ggplot中延伸至零以下

R 确认间隔在ggplot中延伸至零以下,r,ggplot2,R,Ggplot2,我的图中的置信区间超过零,使得y轴低于零。有没有办法在ggplot中进行调整,使置信区间不低于零,同时保持y轴限制不变? 使用geom_ribbon: 示例数据: set.seed(1) df <- data.frame(x = 1:100, y = pmax(0, 35 - 1:100 * runif(100) )) fit <- lm(y ~ x, data=df) pred_df <- data.frame(x=df$x, predict(fit, interval="c

我的图中的置信区间超过零,使得y轴低于零。有没有办法在ggplot中进行调整,使置信区间不低于零,同时保持y轴限制不变?

使用
geom_ribbon

示例数据:

set.seed(1)
df <- data.frame(x = 1:100, y = pmax(0, 35 - 1:100 * runif(100) ))
fit <- lm(y ~ x, data=df)
pred_df <- data.frame(x=df$x, predict(fit, interval="confidence"))

ggplot() + geom_point(aes(x=x, y=y), data=df) +
  geom_ribbon(aes(x=x, ymin=pmax(0,lwr), ymax=upr), alpha=0.5, data=pred_df) + scale_y_continuous(limits=c(min(pred_df$lwr), NA) )
set.seed(1)

df您可以将此选项用于y轴(与x轴类似):


如果您添加一些可复制的代码,我会得到更快(更好)的答案。如果结果不能低于零,为什么要保持限制不变?也许您需要不同的模型,而不是不同的绘图方法?似乎您需要一个模型,该模型将强制CI将0作为下限,而不是您的下限。作为一个例子(并省略许多细节),如果您使用的是线性模型(假设错误为正态),那么您可能希望使用日志链接而不是标识链接。
scale_y_continuous(limits = c(min_y,max_y), oob=squish)