Вы можете использовать data.table
и ggplot2
:
library(data.table)
library(ggplot2)
dt <- data.table(diamonds)
Рассчитать количество записей по каждому разрезу, а затем вычислить prop.table
из этих подсчетов:
result <- dt[, .N, by = cut][, .(cut, N, percentCut = prop.table(N))]
Теперь вы можете построить его с помощью ggplot
и использовать библиотеку scales
, чтобы получить красивую ось Y в формате процентов:
p <- ggplot(result, aes(x = cut, y = percentCut))+
geom_col()+
scale_y_continuous(labels = scales::percent)
Теперь вы можете передать p
для построения, если это такВы хотите:
plotly::ggplotly(p)