#r #plot
Вопрос:
Как вы визуализируете в R такого рода таблицу, где x-класс, а y-количество случаев в классе? Я хочу визуализировать распределение, но все, что мне удается сделать, — это гистограмма (поместить y в вектор), поэтому она не использует информацию о x. Я могу добавить теги позже, но есть ли лучший способ продолжить и напрямую использовать этот формат. Кроме того, если у меня тысячи классов, как я могу просто разместить их в ячейках большего размера, чем та, что в таблице? (пример здесь это может быть построение только двух классов <50 и >50).
x y
100 1954
90 106
80 700
70 27
60 861
50 32
40 5491
30 936
20 7364
10 408
Ответ №1:
Вы можете использовать barplot
barplot(y~x, df)
Или в ggplot2
library(ggplot2)
ggplot(df, aes(x, y)) geom_col()
Если вам нужны только две категории, вы можете создать новый столбец, а затем использовать aggregate
его .
df$class <- ifelse(df$x > 50, 'less than 50', 'higher than 50')
barplot(y~class, aggregate(y~class, df, sum))
Ответ №2:
Следуя словам @Ronak Shah, вы можете составить график. Для многих классов вы можете использовать cut
. Например, разделите ваши данные как >50 и >,
df %>%
mutate(grp = cut(V1,2)) %>%
ggplot(aes(grp, V2)) geom_col()
Если ваш первый столбец является фактором в ваших данных, вам, возможно, потребуется добавить as.numeric(first column)
его перед этим.