【问题标题】:R, ggplot2 qqplot using 2 vectors + straight line?R,ggplot2 qqplot 使用 2 个向量 + 直线?
【发布时间】:2018-09-07 05:08:01
【问题描述】:

我有 2 个data.frame 对象:

  • df1
  • df2

两者都有一列 = 金额。

例如:

df1 <- data.frame(amount = c(119.00,191.41,69.00,396.80,245.00,24.50,300.00,149.77,599.01,397.65))
df2 <- data.frame(amount = c(60.00,336.38,115.37,220.01,60.00,611.88,189.78,129.98,34.90,45.00))

我想用他们两个做一个qqplot,并添加一个y = x直线,看看他们是否有相同的分布。

我正在使用qqplot(df1$amount, df2$amount) + abline(),但它不起作用:Error: ggplot2 doesn't know how to deal with data of class uneval 请指教。

如果我在qqplot中有一条几乎是直线但我在那里有一个“水平”,请解释一下-这是什么意思?

【问题讨论】:

  • 你的问题有点不清楚。您有来自 ggplot2 的错误,但 qqplotabline 都不是该包中的函数(qplotgeom_abline 是)。
  • @Relasta 非常感谢,我的错误
  • @Relasta 但是我怎样才能对 stat_qq 做同样的事情,它是 ggplot2 的一部分

标签: r dataframe ggplot2 statistics


【解决方案1】:

正如已经指出的那样,qqplot()abline() 是来自“stats”和“graphics”包的基本 R 函数。无需使用“ggplot2”包中的+

在单个data.frame中收集数据更方便。

df <- data.frame(
"Amount_X" = c(119.00,191.41,69.00,396.80,245.00,24.50,300.00,149.77,599.01,397.65), 
"Amount_Y" = c(60.00,336.38,115.37,220.01,60.00,611.88,189.78,129.98,34.90,45.00)
)

该图的基本 R 解决方案如下:

qqplot(df$Amount_X, df$Amount_Y)
abline(0,1)

【讨论】:

  • 但是我怎样才能对 stat_qq 做同样的事情,它是 ggplot2 @m-a 的一部分
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多