2D гистограмма в R: преобразование из числа в частоту в столбце

Был бы признателен за помощь в создании 2D гистограммы частот, где частоты рассчитываются в столбце. Моя главная проблема: преобразование из числа в частоту столбца.

Вот мой стартовый код:

# expected packages
library(ggplot2)
library(plyr)

# generate example data corresponding to expected data input
x_data = sample(101:200,10000, replace = TRUE)
y_data = sample(1:100,10000, replace = TRUE)
my_set = data.frame(x_data,y_data)

# define x and y interval cut points
x_seq = seq(100,200,10)
y_seq = seq(0,100,10)

# label samples as belonging within x and y intervals
my_set$x_interval = cut(my_set$x_data,x_seq)
my_set$y_interval = cut(my_set$y_data,y_seq)

# determine count for each x,y block
xy_df = ddply(my_set, c("x_interval","y_interval"),"nrow") # still need to convert for use with dplyr

# convert from count to frequency based on formula: freq = count/sum(count in given x interval)
################ TRYING TO FIGURE OUT #################

# plot results
fig_count <- ggplot(xy_df, aes(x = x_interval, y = y_interval)) + geom_tile(aes(fill = nrow)) # count
fig_freq <- ggplot(xy_df, aes(x = x_interval, y = y_interval)) + geom_tile(aes(fill = freq)) # frequency

Буду признателен за любую помощь в том, как рассчитать частоту в столбце.

Спасибо! JAC

РЕДАКТИРОВАТЬ: Я думаю, что решение потребует следующих шагов: 1) Рассчитать и сохранить общее количество для каждого фактора x-интервала 2) Разделить количество отдельных бинов на соответствующий им коэффициент x-интервала для получения частоты.

Не уверен, как это осуществить, хотя.,

1 ответ

Решение

Если вы хотите нормализовать значения x_interval, вы можете создать столбец с количеством за интервал, а затем разделить на это. Я должен признать, что я не ddply Wiz, так что, может быть, есть более простой способ, но я бы сделал

xy_df$xnrows<-with(xy_df, ave(nrow, x_interval, FUN=sum))

затем

fig_freq <- ggplot(xy_df, aes(x = x_interval, y = y_interval)) +
    geom_tile(aes(fill = nrow/xnrows))
Другие вопросы по тегам