`に渡す前に、私は、x、y座標とIが算出するために、2Dビンに分割したい見出し角度からなるデータごとに見出しを意味有しますビンとggplot
のgeom_spoke
とプロット。集計X、Y、2Dビンにおけるシータデータgeom_spoke`
ここで私は手動で作成したビンに、何をしたいの例です:
# data
set.seed(1)
dat <- data.frame(x = runif(100,0,100), y = runif(100,0,100), angle = runif(100, 0, 2*pi))
# manual binning
bins <- rbind(
#bottom left
dat %>%
filter(x < 50 & y < 50) %>%
summarise(x = 25, y = 25, angle = mean(angle), n = n()),
#bottom right
dat %>%
filter(x > 50 & y < 50) %>%
summarise(x = 75, y = 25, angle = mean(angle), n = n()),
#top left
dat %>%
filter(x < 50 & y > 50) %>%
summarise(x = 25, y = 75, angle = mean(angle), n = n()),
#top right
dat %>%
filter(x > 50 & y > 50) %>%
summarise(x = 75, y = 75, angle = mean(angle), n = n())
)
# plot
ggplot(bins, aes(x, y)) +
geom_point() +
coord_equal() +
scale_x_continuous(limits = c(0,100)) +
scale_y_continuous(limits = c(0,100)) +
geom_spoke(aes(angle = angle, radius = n/2), arrow=arrow(length = unit(0.2,"cm")))
私は例えば、各ビンのカウントデータを含む2Dビンを作成する方法を知っている:
# heatmap of x,y counts
p <- ggplot(dat, aes(x, y)) +
geom_bin2d(binwidth = c(50, 50)) +
coord_equal()
#ggplot_build(p)$data[[1]] #access binned data
しかし、私はgeom_spoke
に渡す前に各ビンの見出しのような他の変数を要約する方法を見つけることができないようです。最初のビンニングがなければ、私のプロットは次のようになります。
これはZ.Lin @素晴らしいです、どうもありがとうございました!前に使わなかった 'rowwise()'関数の素晴らしい例です:) – jogall