4

我最近遇到了 R-package beanplot并提供了在一个图中绘制两个子组分布的可能性(特殊的不对称 beanplot)。您可以在Journal of Statistical Softwarecran.r-project.org上找到该软件包的描述。

我使用以下代码制作了一个不对称的 beanplot :

library(psych) 
library(beanplot)

var1 <-c(20,33,NA,39,NA,40,34,33,NA,38,NA,8,7,NA,NA,40,34,24,25,36,40,37,34,NA,35)
var2 <- c(1,0,1,1,1,0,1,0,1,NA,1,0,0,0,0,1,1,0,1,0,1,1,NA,0,1)
mydata<-data.frame(var1,var2) 
table(mydata)

par(lend = 1, mai = c(0.8, 0.8, 0.5, 0.5))
beanplot(var1 ~ var2, data= mydata,  side = "both",log="", 
what=c(1,1,1,0), border = NA, col = list("black", c("grey", "white")))
legend("bottomleft", fill =c("black", "grey"), legend = c("no", "yes"))

生成的图很好地显示了两个子组分布的不同形状。

非对称 beanplot

问题

因变量的测量范围为 7 到 40。但是,y 轴似乎从 -1 到 +55。

如果有人能解释如何修改比例,那就太好了,即这里实际绘制的内容。有没有办法使用原始比例绘制分布?

非常感谢!

4

1 回答 1

4

beanplot使用density. 估计的密度可以为超出观测数据范围的区域提供质量。你可以试试这个来了解密度的作用——plot(density(1:2))你应该看到它只是取以数据点为中心的高斯密度的平均值(请注意,你可以使用不同的内核,因为beanplot它允许你指定内核参数) . 它如何为该高斯选择方差取决于您,但默认情况下,它看起来像 beanplot 使用bw.SJ“dpi”方法来选择带宽。

您可以使用 cutmin 和 cutmax 来控制 beanplot 实际绘制的范围,但这实际上并不会改变密度估计。

于 2012-11-26T18:20:37.480 回答