R 为什么因子在条带图(晶格)中很重要?

R 为什么因子在条带图(晶格)中很重要?,r,lattice,R,Lattice,我正在尝试学习lattice,下面是一个示例: stripplot(depth ~ factor(mag), data = quakes) 结果如下: 鉴于此: stripplot(depth ~ mag, data = quakes) 结果如下: 有什么区别?为什么这很重要?发生了什么事?所以这似乎是在bwplot中如何解释公式的一个怪癖。所有的stripplot都是使用不同的面板函数调用bwclot。这意味着 stripplot(depth ~ mag, data = quakes)

我正在尝试学习lattice,下面是一个示例:

stripplot(depth ~ factor(mag), data = quakes)
结果如下:

鉴于此:

stripplot(depth ~ mag, data = quakes)
结果如下:


有什么区别?为什么这很重要?发生了什么事?

所以这似乎是在
bwplot
中如何解释公式的一个怪癖。所有的
stripplot
都是使用不同的面板函数调用
bwclot
。这意味着

stripplot(depth ~ mag, data = quakes)
相当于

bwplot(depth ~ mag, data = quakes, panel=panel.stripplot)
(假设您没有弄乱“prepanel.default.stripplot”选项)。所以基本上,
stripplot
就像一个盒子和胡须图,但它不是画盒子,而是把每个观察点画成一个点,并增加一些抖动,这样它们就不会互相重叠。观察这4个图(这里我使用
bwclot
,这样更容易看到数据的方向)

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

因此,当两者都是数字时(如
条带图(depth~mag,data=quakes)
),将
深度转换为不需要的因子。但是,当您将一个系数指定为
x
并具有一个数值
y
(如
stripplot(depth~factor(mag),data=quakes)
)时,
bwclot
将其常规布局从垂直更改为水平以适应


希望这是有意义的。

好的,因此基本上如果没有一个是因子,那么它会强制公式中的第一个变量成为因子,从而导致这种不良效果。在我看来,条带图就像是xyplot的变体,而不是条形图。我想这就是我错过它的原因。
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")