【问题标题】:qfit in Stata versus qplot (or geom_smooth?) in RStata中的qfit与R中的qplot(或geom_smooth?)
【发布时间】:2017-09-27 15:44:25
【问题描述】:

我想绘制两个变量之间的关系。我有大约 15000 个观察值,所以点图是没有选择的。我最初开始在 Stata 中绘制关系,这给出了我预期的结果。我决定切换到 R 并意识到我无法获得相同的结果。

因此,我想知道:Stata 和 R 中的代码有什么区别?以及如何在 R 中从 Stata 复制图形?

我在 Stata 中尝试过

twoway qfit prob1 ps1

在 R 中我尝试过

qplot(ps1,prob1, geom='smooth', xlab="temperature", ylab="probability to irrigate", span =0.5)

比较:左图是Stata中的图,右图是R中的图。

我还尝试了与 geom_smooth 的组合,例如:

library(ggplot2)
ggplot(Mydata_full, aes(ps1,prob1))  + geom_smooth()

这又给出了截然不同的结果。我想我没有正确理解这些功能之间的所有区别。有什么提示吗?

【问题讨论】:

  • 尺度不同,看统计y轴
  • 完全不同的标准。 R 人可以看一眼stata.com/help.cgi?twoway_qfit,这证实了Stata 中的twoway qfit 拟合二次方,因此“q”表示二次方。我对 R 没有权威,但我的理解是 qplot 中的“q”表示快速,而 qplot 根本不适合二次方,但范围更广。更重要的是,这里很明显,您的 R 语法根本不适合二次,而是更平滑,很可能是 lo(w)ess 或 lo(w)ess-like。
  • 只是一个例子,请阅读文档。
  • 标题错误,因为它是 qfit (Stata) 和 qplot (R)。
  • 为什么一条曲线向右下而另一条曲线向上也是一个谜,但如果没有可重复的例子,就只能胡乱猜测。

标签: plot ggplot2 stata


【解决方案1】:

找到好的解决方案通常与使用正确的搜索词有关。我在上面的问题中表示我不知道图表之间的确切差异,表明我不知道在哪里看。这与不阅读文档无关。 Nick 指出我必须寻找二次函数,这有助于我确定搜索区域的范围。这是解决方案:

ggplot(Mydata_full,aes(x=ps1)) +
  stat_smooth(aes(y = prob1),method = "lm", formula = y ~ x + I(x^2), size = 1)+
  scale_y_continuous(limits = c(0, 1))

【讨论】:

  • 很高兴您现在明白了该做什么,但不清楚 twoway qfit 在 Stata 中做了什么似乎很难解释,如果您确实阅读了文档......就您的特定数据而言更有趣的是,为什么这些图表看起来完全不同吗?如果平滑图可信,则二次曲线不可信,反之亦然。
  • 这个问题很可能是统计问题,那么为什么不在 Cross Validated 上发布数据和问题呢?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-12-26
  • 2012-07-21
  • 2022-01-22
  • 1970-01-01
  • 2019-06-08
  • 2016-03-02
  • 1970-01-01
相关资源
最近更新 更多