R 创建具有一个x值和多个y值的散点图

R 创建具有一个x值和多个y值的散点图,r,ggplot2,scatter-plot,lattice,R,Ggplot2,Scatter Plot,Lattice,我有以下表格的数据: [x] [y1] [y2] 1 0.9 1 2 2.0 2 3 3.1 3 其中(x,y1)是实际值,y2是基于另一组数据估计的线性模型对y1的预测。(x,y1,y2)在数据帧DT中。如何使用xyplot绘制散点图,该散点图在x轴上绘制x,在y轴上绘制y1和y2,但颜色不同 我可以使用下面的代码在ggplot中实现这一点,但我认为它看起来不如使用xyplot()命令好,我想知道在这种情况下是否可以使用xyplot/lattice ggplo

我有以下表格的数据:

[x]  [y1] [y2]
1    0.9   1
2    2.0   2
3    3.1   3
其中(x,y1)是实际值,y2是基于另一组数据估计的线性模型对y1的预测。(x,y1,y2)在数据帧DT中。如何使用xyplot绘制散点图,该散点图在x轴上绘制x,在y轴上绘制y1和y2,但颜色不同

我可以使用下面的代码在ggplot中实现这一点,但我认为它看起来不如使用xyplot()命令好,我想知道在这种情况下是否可以使用xyplot/lattice

ggplot(DT, aes(x)) + geom_point(aes(y=y1), color="red") + geom_point(aes(y=y2), color = "green")

提前非常感谢

简单的答案是,您需要使数据整洁,以便
ggplot
能够轻松地执行您想要的操作。由于您没有给我们一个实际的示例,我正在生成一些示例数据,然后整理它(注意,这里使用
dplyr
tidyr


您可以使用公式中的
y1+y2
绘制2个y变量

 d=data.frame(x=1:9,y1=2:10,y2=3:11)
 library(lattice)
 xyplot(y1+y2~x,d)
编辑: 您可以使用添加图例

 xyplot(y1+y2~x,d,auto.key=TRUE)
使用其他
lattice
功能控制颜色、标签等。

使用
with()
plot()
points()
R中基本绘图包的函数:

with(datatable,plot(X,Y1))
with(datatable,points(X,Y2))
with(datatable,points(X,Y3))

一个简单的可复制的例子将非常有助于了解您当前拥有的数据。这使我们更容易帮助你。如果您有一个名为DT的数据帧,请尝试
dput(DT[1:10,])
获得一个好的输出,让我们帮助您感谢!我很抱歉没有分享我的实际数据;它被组织为一个数据帧,包含三列,x、y1和y2,以及大约500行。目前,预测点与实际点(y1)是一个单独的变量(y2),而不是有一个y变量和一个像separameasure这样的变量来区分分组/颜色。在上面的例子中,似乎大小有两个不同的变量,一个用于每个分离度量。在这种情况下,是否可以对图形使用类似的语法?
exampleData
与您描述的数据完全相同。我使用
collect
创建
separameasure
size
。您将需要对数据执行同样的操作。
 xyplot(y1+y2~x,d,auto.key=TRUE)
with(datatable,plot(X,Y1))
with(datatable,points(X,Y2))
with(datatable,points(X,Y3))