ggplot grouping when using functions inside aesthetics
我对 R 和 ggplot 还很陌生,并且很难理解我应该如何在 ggplot 中解决这个问题。
基本上我想在一个情节上画两条线。一个用于方法"a",一个用于方法"b"。这通常很简单,但现在我想在美学中使用函数。
我想做
1 2 3 4 5 6 | d <- rbind( data.frame(value=1:100, method=c("a")), data.frame(value=50:60, method=c("b")) ) ggplot(d, aes(x=value, y=rank(value)/length(value), colour=method)) + geom_point() |
1 2 3 4 5 6 7 8 9 10 11 12 13 | a <- d$value[d$method=="a"] b <- d$value[d$method=="b"] plot( rank(a)/length(a), col="red", xlab="value", ylab="F(value)", pch=19 ) points( rank(b)/length(b), col="blue" ) |
这可以用 ggplot 实现吗,还是我需要事先进行计算,然后制作一个特殊的绘图数据框?
每当我知道如何做某事时,我发现 ggplot 很强大,但一旦我不知道该怎么做,就会令人沮丧!尤其是当我不知道它是否不能做某事,或者我只是不知道如何做的时候!
谢谢
感谢评论者。这是他们在我的测试用例上下文中的解决方案,以供参考。
在ggplot之外对分组值进行排名。
1 2 3 4 5 6 | d <- rbind( data.frame(value=1:100, method=c("a")), data.frame(value=50:60, method=c("b")) ) d <- mutate(group_by(d, method), rank=rank(value)/length(value)) ggplot(d, aes(x=value, y=rank, colour=method)) + geom_point() |