Чтобы отобразить "сколько всего 0, 1, 2 и 3" - это график количества этих значений. Поэтому соответствующий тип графика - это барплот , а не гистограмма.
barplot(table(unlist(a)))
![enter image description here](https://i.stack.imgur.com/rHTdY.png)
Если данные изменились на чтобы все элементы a
были равны одному из значений, в данном случае "2"
, были бы заменены на NA
, решение могло бы заключаться в том, чтобы принудительно установить факторные уровни вручную.
a[a == "2"] <- NA
a2 <- unlist(a)
a2 <- factor(a2, levels = min(a2, na.rm = TRUE):max(a2, na.rm = TRUE))
barplot(table(a2))
![enter image description here](https://i.stack.imgur.com/IoPX6.png)
ggplot2
Кроме того, в этом другом ответе есть решение ggplot
, которое является неправильным. Я предложил исправление в комментарии, но у меня пока нет ответа, и предложенное исправление также работает для этого случая без необходимости приведения к фактору.
library(ggplot2)
ggplot(stack(a), aes(x = values)) +
geom_bar()
![enter image description here](https://i.stack.imgur.com/ZpOxr.png)