R 正态分布图上的置信区间
我想在置信区间的x位置绘制垂直线。我做了统计,但我找不到一种方法将其添加到绘图中。请遵循以下MWE:R 正态分布图上的置信区间,r,R,我想在置信区间的x位置绘制垂直线。我做了统计,但我找不到一种方法将其添加到绘图中。请遵循以下MWE: xseq<-seq(-4,4,.01) densities<-dnorm(xseq, 0,1) par(mfrow=c(1,3), mar=c(3,4,4,2)) plot(xseq, densities, col="darkgreen",xlab="", ylab="Densidade", type="l",lwd=2, cex=2, main="Normal", cex.axis
xseq<-seq(-4,4,.01)
densities<-dnorm(xseq, 0,1)
par(mfrow=c(1,3), mar=c(3,4,4,2))
plot(xseq, densities, col="darkgreen",xlab="", ylab="Densidade", type="l",lwd=2, cex=2, main="Normal", cex.axis=.8)
它给了我一个错误:
Error in structure(.Call(C_tukeyline, as.double(xy$x[ok]), as.double(xy$y[ok]), :
insufficient observations
在指出abline()的注释之后。它可以工作:
然而,我认为t.test会给出正态分布的CI是错误的
- 我做错了什么
ggplot2
:
ggplot(data = df, aes(x = xseq, y = densities)) +
geom_point() +
geom_vline(xintercept = c(x[1], x[2]))
以适当的置信区间:
ggplot(data = df, aes(x = xseq, y = densities)) +
geom_point() +
geom_vline(xintercept = c(x2[1], x2[2]))
样本数据:
df <- data.frame(xseq = seq(-4,4,.01),
densities = dnorm(xseq, 0,1))
x <- t.test(xseq, conf.level = 0.95)$conf.int
x2 <- qnorm(c(0.05, 0.95), mean = mean(xseq), sd = sd(xseq))
df不确定您想要什么,但它不是abline(v=c(x[1],x[2])
?您可能想使用?abline
。另外,您的t.test可能不是您所期望的。这是真的,在这种情况下,t.test不是查找ci的合适函数。你有什么建议吗
ggplot(data = df, aes(x = xseq, y = densities)) +
geom_point() +
geom_vline(xintercept = c(x2[1], x2[2]))
df <- data.frame(xseq = seq(-4,4,.01),
densities = dnorm(xseq, 0,1))
x <- t.test(xseq, conf.level = 0.95)$conf.int
x2 <- qnorm(c(0.05, 0.95), mean = mean(xseq), sd = sd(xseq))