gpt4 book ai didi

r - 无法在直方图上添加概率曲线

转载 作者:行者123 更新时间:2023-12-04 18:30:32 25 4
gpt4 key购买 nike

我正在尝试使用 lattice-package 在一个图上显示多个直方图。

到目前为止,这是我的代码:

histogram(~ X1 + X2 + X3 + X4 + X5 + X6 + X7 + X8 + X9 + X10, data=mydata, 
type = "density",layout=c(5,2),
panel=function(x, ...) {
panel.histogram(x, ...)
panel.mathdensity(dmath=dnorm, col="black",
args=list(mean=mean(x), sd=sd(x)), ...)
})

问题是,它不会绘制概率曲线。它不会给我返回错误,所以我认为代码看起来不错。

我也试过只用一个变量,但也没用:

histogram(~ X1, data=mydata, 
type = "density",layout=c(5,2),
panel=function(x, ...) {
panel.histogram(x, ...)
panel.mathdensity(dmath=dnorm, col="black",
args=list(mean=mean(x), sd=sd(x)), ...)
})

有人看到我的代码有错误吗?还是我的数据有问题?

我很高兴得到任何建议!

最佳答案

会不会是您的数据包含缺失值?

# Create example data (no missings)
mydata <- data.frame(X1 = rpois(1000, 12), X2 = rnorm(1000, 12, sqrt(12)))

# Create some missing (NA) entries
mydata2 <- mydata
mydata2[sample(seq_len(nrow(mydata2)), 10), 1] <- NA

在直方图函数中使用上述 mydata2 对象不会为 X1 生成密度图,因为 meansd 返回 NA。将 na.rm = TRUE 添加到这两个函数将返回 panel.mathdensity 可以使用的值:

histogram(~ X1 + X2, data=mydata2, 
type = "density",layout=c(1,2),
panel=function(x, ...) {
panel.histogram(x, ...)
panel.mathdensity(dmath=dnorm, col="black",
# Add na.rm = TRUE to mean() and sd()
args=list(mean=mean(x, na.rm = TRUE),
sd=sd(x, na.rm = TRUE)), ...)
})

histogram with density

关于r - 无法在直方图上添加概率曲线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13723060/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com