R 使用qplot的多层平滑图

R 使用qplot的多层平滑图,r,ggplot2,regression,dplyr,ggvis,R,Ggplot2,Regression,Dplyr,Ggvis,这是我尝试过的绘图的样本数据集 x<-runif(3, min=4, max=50) y<-runif(6, min=3, max=14) x1 <-runif(8, min=7, max=52) y1 <-runif(5, min=5, max=18) 但它们被划分为两个独立的部分;如何在不同图层的同一个绘图上绘制两条平滑线?您的示例存在一些问题,如注释中所述 set.seed(1) x <- sort(runif(20, min=4, max=50)) y

这是我尝试过的绘图的样本数据集

x<-runif(3, min=4, max=50)
y<-runif(6, min=3, max=14)

x1 <-runif(8, min=7, max=52)
y1 <-runif(5, min=5, max=18)

但它们被划分为两个独立的部分;如何在不同图层的同一个绘图上绘制两条平滑线?

您的示例存在一些问题,如注释中所述

set.seed(1)
x <- sort(runif(20, min=4, max=50))
y <- sort(runif(20, min=3, max=14))

x1 <-sort(runif(20, min=7, max=52))
y1 <-sort(runif(20, min=5, max=18))

但一旦数据格式正确,使用
ggplot
就更容易了

dd <- data.frame(x, x1, y, y1)
ll <- reshape(dd, dir = 'long', varying = list(1:2, 3:4))

ggplot(ll, aes(x, y, group = time)) + geom_point() + geom_smooth()

像这样的东西
ggplot()+geom_smooth(aes(x,y))+geom_smooth(aes(x1,y1))
示例中的向量具有不同的长度。如果要在
geom_smooth()
中组合它们,它们的大小应该相同;但是有什么方法可以删除点并只在绘图上留下线条吗?@saurabh只需删除点图层
ggplot(ll,aes(x,y,group=time))+geom_smooth()
library(ggplot2)
qplot(x, y) + geom_smooth(aes(x, y)) + geom_point(aes(x1, y1)) + geom_smooth(aes(x1, y1))
dd <- data.frame(x, x1, y, y1)
ll <- reshape(dd, dir = 'long', varying = list(1:2, 3:4))

ggplot(ll, aes(x, y, group = time)) + geom_point() + geom_smooth()