R 如何在与实际打印数据不同的数据上使用geom_smooth()?

R 如何在与实际打印数据不同的数据上使用geom_smooth()?,r,plot,ggplot2,R,Plot,Ggplot2,我有一个使用ggplot2的线图,它有三条线(在数据框中有变量名,比如“a”、“B”和“C”)。我想使用方法=黄土添加geom_平滑,但我想基于“B”和“C”的最小值添加回归线。有办法做到这一点吗 为了说明这一点,下面是一个模拟代码: names <- c('n1', 'n2', 'n3', 'n4', 'n5') aline <- c(0.18, 0.21, 0.23, 0.20, 0.16) bline <- c(0.50, 0.40, 0.30, 0.20, 0.1

我有一个使用ggplot2的线图,它有三条线(在数据框中有变量名,比如“a”、“B”和“C”)。我想使用
方法=黄土添加geom_平滑,但我想基于“B”和“C”的最小值添加回归线。有办法做到这一点吗

为了说明这一点,下面是一个模拟代码:

names  <- c('n1', 'n2', 'n3', 'n4', 'n5')
aline  <- c(0.18, 0.21, 0.23, 0.20, 0.16)
bline  <- c(0.50, 0.40, 0.30, 0.20, 0.10)
cline  <- c(0.14, 0.20, 0.30, 0.35, 0.33)
min_bc <- c(0.14, 0.20, 0.30, 0.20, 0.10)
df <- data.frame(name, aline, bline, cline)
df.m <- melt(df)
g <- ggplot(df.m, aes(group=1, names, value, colour=variable))
g <- g + geom_line(aes(group=variable))
g <- g + geom_point(aes(colour=variable), alpha=0.4)

names通常,在对
ggplot
的主调用中设置与绘图相关的数据集:

ggplot(data, aes()) + geom_point()
但是,您也可以为
geom
单独设置数据集:

ggplot(data1, aes()) + geom_point(data = data2)
使用此技术,您可以预先计算要绘制黄土的数据集,并将其输入到
geom_smooth()
。下面的例子证实了这一假设:

df1 = data.frame(x = 1:100, y = runif(100))
df2 = data.frame(x = 1:100, y = runif(100) + 1)
ggplot(df1, aes(x, y)) + geom_point() + geom_smooth(data = df2)

在本例中,两个数据集具有相同的列名。如果不是这样,您还需要在
geom_smooth
中调整
aes
设置


请记住,对另一个数据集(而不是在其下绘制的数据集)进行平滑处理可能会使事情变得非常不清楚。

通常,可以在主调用
ggplot
中设置与绘图相关的数据集:

ggplot(data, aes()) + geom_point()
但是,您也可以为
geom
单独设置数据集:

ggplot(data1, aes()) + geom_point(data = data2)
使用此技术,您可以预先计算要绘制黄土的数据集,并将其输入到
geom_smooth()
。下面的例子证实了这一假设:

df1 = data.frame(x = 1:100, y = runif(100))
df2 = data.frame(x = 1:100, y = runif(100) + 1)
ggplot(df1, aes(x, y)) + geom_point() + geom_smooth(data = df2)

在本例中,两个数据集具有相同的列名。如果不是这样,您还需要在
geom_smooth
中调整
aes
设置


请记住,对另一个数据集(而不是在其下方绘制的数据集)进行平滑处理可能会使事情变得非常不清楚。

这有点令人困惑。您的意思是要从
aline~min_bc
(或者相反)绘制回归线?更改任何ggplot对象中的
数据
aes(x=…,y=…)
参数。这有点混乱。你的意思是你想从
aline~min_bc
(或者相反)绘制回归线?在任何ggplot对象中更改
数据和
aes(x=…,y=…)
参数。我对这个主题还有一个疑问。。。如何考虑两个不同的数据帧,其中GGTRAP中使用的一个数据对象在第二个对象中不存在(用于创建GeOMSOLAST的数据框)。如果两者都没有精确的对象,它将失败。我对这个话题还有另一个疑问。。。如何考虑两个不同的数据帧,其中GGTRAP中使用的一个数据对象在第二个对象中不存在(用于创建GeOMSOLAST的数据框)。如果两者都没有所有精确的对象,它将失败。