我试图学习格子,我已经来过这个例子:
stripplot(depth ~ factor(mag), data = quakes)
结果如下:
而这一个:
stripplot(depth ~ mag, data = quakes)
结果如下:
区别是什么?为什么这有关系?发生了什么?
答案 0 :(得分:2)
所以这似乎是bwplot
中如何解释公式的一个怪癖。所有stripplot
都会使用不同的面板功能调用bwplot
。这意味着
stripplot(depth ~ mag, data = quakes)
相当于
bwplot(depth ~ mag, data = quakes, panel=panel.stripplot)
(假设您没有弄乱“prepnel.default.stripplot”选项)。所以基本上stripplot
就像一个盒子和胡须图,但不是画框,而是将每个观察结果作为一个点,并添加一些抖动,这样它们就不会相互叠加。观察这4个图(这里我使用bwplot
,因此更容易看到数据的方向/方向)
bwplot(depth ~ mag, data = quakes, main="bw d~m")
bwplot(mag ~ depth, data = quakes, main="bw m~d")
bwplot(depth ~ factor(mag), data = quakes, main="bw d~f(m)")
bwplot(factor(depth) ~ mag, data = quakes, main="bw f(d)~m")
绘制bwplot / scatterplot时,你的一个变量应该是一个因素。这就是你如何得到离散的群体。如果您未指定因子,默认情况下bwplot
会将公式中的响应变量转换为因子。但是,如果响应是连续的并且x
是一个因素,bwplot
假设您希望x
成为离散变量而不是y
,那么它会从默认水平切换为垂直方向。
因此,当两者都是数字时(如stripplot(depth ~ mag, data = quakes)
}),depth
将被转换为不合需要的因子。但是,如果您将一个因子指定为x
并且具有数字y
(如stripplot(depth ~ factor(mag), data = quakes)
中所示),则bwplot
会将其常规布局从垂直更改为水平以适应。
希望这是有道理的。