2013-06-05 1 views
0

으로 만들었습니다. 두 개의 열 xy을 가진 데이터 프레임이 있습니다. 데이터 프레임은 각각 0과 100 사이의 값을 갖습니다 (데이터가 쌍을 이룹니다). 나는 binned scatter plot을 사용하여 그것들을 서로 연관시키고 싶다. 나는 정기적으로 산포도를 사용한다면, 쉽게 할 수있을 것입니다 :ggplot2에있는 두 변수에 대한 binned scatter plot을 R

geom_point(aes(x=x, y=y)) 

을하지만, 0에서 100까지 대신 빈 N 쓰레기통에 포인트를 원하는 각 x의 평균 값을 얻을 것 bin과 그 bin의 포인트에 대한 평균값이 y 인 것을 알 수 있습니다. 그리고 이것을 산점도로 보여줍니다 - 원시 데이터 포인트 대신에 binned average를 상관시킵니다.

geom_smooth()geom_point의 조합을 사용하여 ggplot2에서이를 수행하는 영리한/빠른 방법이 있습니까? 또는 수동으로 사전 계산하여 플롯해야합니까?

답변

1

나는 geom_bin2d을 제안합니다.

DF <- data.frame(x=1:100,y=1:100+rnorm(100)) 

library(ggplot2) 
p <- ggplot(DF,aes(x=x,y=y)) + geom_bin2d() 
print(p) 

enter image description here

1

예, stat_summary_bin를 사용할 수 있습니다.

set.seed(42) 
x <- runif(1e4) 
y <- x^2 + x + 4 * rnorm(1e4) 
df <- data.frame(x=x, y=y) 

library(ggplot2) 
(ggplot(df, aes(x=x,y=y)) + 
    geom_point(alpha = 0.4) + 
    stat_summary_bin(fun.y='mean', bins=20, 
        color='orange', size=2, geom='point')) 

enter image description here

관련 문제