假设我有两个数据帧
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
。这些解决方案的作用是允许用户略微忽略数据管理的这一方面(诚然,某些用户会觉得可恶)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句