组间分布的视觉比较:如何针对“非对称豆图”修改比例?

时间:2012-11-26 18:09:42

标签: r plot scale distribution

我最近遇到了R-package beanplot ,并且可以在一个单独的图中绘制两个子组的分布(特殊的非对称beanplot )。您可以在Journal of Statistical Softwarecran.r-project.org上找到该包的说明。

我使用以下 CODE

生成了一个非对称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"))

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

Asymmetric beanplot

问题

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

如果有人能够解释比例是如何被修改的,那将是很好的,即这里实际绘制的是什么。有没有办法用原始比例绘制分布图?

非常感谢!

1 个答案:

答案 0 :(得分:4)

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

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