大家。我正在从文件中读取两个数字向量,我想使用ggplot2在一个图上绘制两个ecdf,但我似乎失败了:
>exp = rnorm(100)
>cont = rnorm(100)
> ggplot() + stat_ecdf(data = exp) + stat_ecdf(data = cont)
Error: ggplot2 doesn't know how to deal with data of class numeric
如何在不出现此类错误的情况下将它们拼接在一起?
答案 0 :(得分:1)
library(ggplot2)
var1 = rnorm(100)
var2 = rnorm(100)
DF <- data.frame(variable=rep(c('var1', 'var2'), each=100), value=c(var1, var2))
ggplot(DF) + stat_ecdf(aes(value, color=variable))
您收到错误是因为您没有使用data.frame
,这应该是ggplot2
中的基本做法。此外,您缺少处理变量时必需的aes
。最后,尝试仅使用stat_ecdf
一次,并使用color
,shape
等来区分不同的变量。