R:使用 xyplot 中的线连接特定变量级别的点

R: Use lines in xyplot to connet points from a specific variable level

我有一个数据框 df 具有以下变量:Test, A, pD。我想针对 p 打印 A,分组依据变量 D 级别。

我正在使用 xyplot 这样做 type=('p','l') 绘制点和点之间的连接线。此过程连接变量D的同一水平的所有点。问题是我只想连接来自相同 Test.

的点

知道如何做到这一点吗?或者如果可以用 xyplot?

数据示例

    Test         A           p     D
95    32 0.0000000 0.010148395 55.04
96    32 0.2746429 0.018040352 55.04
97    32 1.0000000 0.019101864 55.04
271   72 0.0000000 0.005900593 22.64
272   72 0.1677419 0.006708547 22.64
273   72 0.4290323 0.009770698 22.64
274   72 1.0000000 0.010637487 22.64
275   73 0.0000000 0.005175419 22.64
276   73 0.2242424 0.006683234 22.64
277   73 0.3793939 0.009750174 22.64
278   73 1.0000000 0.012231502 22.64

这是我正在使用的代码:

xyplot(A ~ p, data=df, groups=D, type=c("p","l"))

这是我想要实现的示例。也许 xyplot.

不可能

Example of what I want to achieve

很难确定你在问什么。请尝试用您想要实现的示例图进一步阐述。

无论如何,这是使用 ggplot 显示 DTest 的不同级别的相应 A-p 图的快速方法:

ggplot(df, aes(A, p)) + 
    geom_line() + 
    geom_point() + 
    facet_grid(D~Test)

我想我终于解决了这个问题。

原始数据 posted 和代码

xyplot(A ~ p, data=df, groups=D, type=c("p","l"))

我得到了一个散点图,其中不同 Test 的点违背了我的意愿,如下 figure.

我添加到 "cheat" R 以获得我想要的:仅连接来自相同 Test 的点。为此,我在每个 Test.

的末尾添加了带有 NA 值的行到原始数据框
   Test    A     p     D
1    32    0  0.01 35.04
2    32 0.27 0.018 35.04
3    32    1 0.019 35.04
4    32 <NA>  <NA> 35.04
5    72    0 0.006 12.64
6    72 0.17 0.007 12.64
7    72 0.43  0.01 12.64
8    72    1 0.011 12.64
9    72 <NA>  <NA> 12.64
10   73    0 0.005 12.64
11   73 0.22 0.007 12.64
12   73 0.38  0.01 12.64
13   73    1 0.012 12.64
14   73 <NA>  <NA> 12.64

结果显示在这个figure。

希望这篇post能对其他人有所帮助。

此致

里卡多