ggplot2 平滑函数:平滑作为 y 的函数?
ggplot2 smooth function: smoothing as a function of y?
我正在尝试向使用 ggplot 绘制的数据添加线性回归;然而,由于我的数据的性质,我需要绘制它,使得线性回归中的响应变量是 x 轴,而不是 y。有没有办法通过从绘图指定的映射中指定替代映射来改变回归的完成方式(我尝试将 "formula = y~x" 更改为 "formula = x~y" 但没有运气)?或者在我添加回归后是否有一种简单的方法来反转情节?谢谢!任何帮助表示赞赏。
一种直接的方法(您建议的)是将 y
和 x
的情节颠倒过来,然后 "inverting" 最后的情节。我使用了严重的右偏 "noise" 所以这个例子真的很清楚什么是合适的。
library(tidyverse)
set.seed(42)
foo <- data_frame(x = 1:100, y = 2 + 0.5*x + 3*rchisq(100, 3))
foo %>%
ggplot(aes(x=y, y=x)) + geom_point() + stat_smooth(method = "lm") + coord_flip()
我正在尝试向使用 ggplot 绘制的数据添加线性回归;然而,由于我的数据的性质,我需要绘制它,使得线性回归中的响应变量是 x 轴,而不是 y。有没有办法通过从绘图指定的映射中指定替代映射来改变回归的完成方式(我尝试将 "formula = y~x" 更改为 "formula = x~y" 但没有运气)?或者在我添加回归后是否有一种简单的方法来反转情节?谢谢!任何帮助表示赞赏。
一种直接的方法(您建议的)是将 y
和 x
的情节颠倒过来,然后 "inverting" 最后的情节。我使用了严重的右偏 "noise" 所以这个例子真的很清楚什么是合适的。
library(tidyverse)
set.seed(42)
foo <- data_frame(x = 1:100, y = 2 + 0.5*x + 3*rchisq(100, 3))
foo %>%
ggplot(aes(x=y, y=x)) + geom_point() + stat_smooth(method = "lm") + coord_flip()