Я новичок в ggplot2, и я пытаюсь понять, как добавить строку к уже существующему сюжету, который я создал. Исходный график, являющийся кумулятивным распределением столбца данных T1
из кадра данных x
, содержит около 100 000 элементов. Я успешно построил это с использованием ggplot2 и stat_ecdf()
с кодом, который я разместил ниже. Теперь я хочу добавить еще одну строку с помощью набора (х, у) координаты, но когда я пытаюсь это с помощью geom_line()
я получаю сообщение об ошибке:Добавить в ggplot с элементом разной длины
Error in data.frame(x = c(0, 7.85398574631245e-07, 3.14159923334398e-06, :
arguments imply differing number of rows: 1001, 100000
Вот код, который я пытаюсь использовать:
> set.seed(42)
> x <- data.frame(T1=rchisq(100000,1))
> ps <- seq(0,1,.001)
> ts <- .5*qchisq(ps,1) #50:50 mixture of chi-square (df=1) and 0
> p <- ggplot(x,aes(T1)) + stat_ecdf() + geom_line(aes(ts,ps))
Это то, что порождает ошибку сверху. Теперь вот код с использованием базовых графики, которые я использовал для использования, но что я сейчас пытаюсь отойти от:
plot(ecdf(x$T1),xlab="T1",ylab="Cum. Prob.",xlim=c(0,4),ylim=c(0,1),main="Empirical vs. Theoretical Distribution of T1")
lines(ts,ps)
Я видел некоторые другие сообщения о добавлении строк в целом, но то, что я не видел как добавить строку, когда два исходных вектора не имеют одинаковой длины. (Примечание: я не хочу просто использовать координаты 100 000 (x, y).)
В качестве бонуса есть ли простой способ, аналогичный использованию abline
, чтобы добавить линию падения на графике ggplot2?
Любой совет будет очень благодарен.