为什么因子在stripplot(晶格)中很重要?

时间:2014-08-20 17:56:13

标签: r lattice

我试图学习格子,我已经来过这个例子:

stripplot(depth ~ factor(mag), data = quakes)

结果如下:

factored lattice

而这一个:

stripplot(depth ~ mag, data = quakes)

结果如下:

unfactored lattice

区别是什么?为什么这有关系?发生了什么?

1 个答案:

答案 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")

enter image description here

绘制bwplot / scatterplot时,你的一个变量应该是一个因素。这就是你如何得到离散的群体。如果您未指定因子,默认情况下bwplot会将公式中的响应变量转换为因子。但是,如果响应是连续的并且x是一个因素,bwplot假设您希望x成为离散变量而不是y,那么它会从默认水平切换为垂直方向。

因此,当两者都是数字时(如stripplot(depth ~ mag, data = quakes)}),depth将被转换为不合需要的因子。但是,如果您将一个因子指定为x并且具有数字y(如stripplot(depth ~ factor(mag), data = quakes)中所示),则bwplot会将其常规布局从垂直更改为水平以适应。

希望这是有道理的。