假设我有两个数据框
df1 = data.frame(x=1:10)
df2 = data.frame(x=11:20)
我想要一个散点图,其中包含定义坐标的这两个系列。这样做很简单
plot(df1$x,df2$x)
到目前为止,我对 ggplot2 的了解,我也可以做到
df = data.frame(x1 = df1$x, x2 = df2$x)
ggplot(data = df, aes(x=x1, y=x2)) + geom_point()
rm(df)
但这比不创建新数据帧要慢(对我而言),难以阅读,并且可能导致错误增加(删除错误的数据帧,覆盖所需的数据帧,忘记删除多余的困惑等) .)我真的需要创建一个单独的数据框来存放已经存在的数据吗?为什么下面的第一行虽然只列出了“数据”下的一个数据框而第二行没有?
ggplot(data = df1, aes(x=df1$x, y=df2$x)) + geom_point()
ggplot( aes(x=df1$x, y=df2$x)) + geom_point()
这是我想要的基本上的示例图像:
最佳答案
以下任何一行(全部取自评论)都应该有效:
ggplot(data=data.frame(x=df1$x, y=df2$x), aes(x,y)) + geom_point()
ggplot() + geom_point(aes(x=df1$x, y=df2$x))
ggplot(data=NULL, aes(x=df1$x, y=df2$x)) + geom_point()
ggplot(data=df1, aes(x=x)) + geom_point(aes(y=df2$x))
我更喜欢最后一行(取自已删除的评论)。正如对该问题的评论中所述,
ggplot()
将创建一个 data.frame
反正。这些解决方案的作用是允许用户在某种程度上忽略数据管理的这一方面(诚然,某些用户会觉得可恶的方式)。
关于r - 如何在不构建新数据框的情况下使用 R 中的 ggplot2 绘制来自不同数据框的两个系列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32321396/