(Это изменение к моему предыдущему ответу) Вот простое решение: предположим, что ваши данные выглядят примерно так (только две переменные, которые вас интересуют):
df <- data.frame(
Year = c(rep(1980,4), rep(1981,5), rep(1982,6)),
Crime.Solved = c("yes","no","yes","yes","no","yes","no","no","yes","yes","no","no","yes","no","no" )
)
Теперь вы создаете список частот 2x2:
freq <- table(df$Year, df$Crime.Solved)
Затем вы рассчитываете пропорции по строкам (см. Число 1):
data <- prop.table(freq, 1)
no yes
1980 0.2500000 0.7500000
1981 0.6000000 0.4000000
1982 0.6666667 0.3333333
Данные, представляющие для вас основной интерес-- доля нераскрытого преступления в год - в самой левой колонке, то есть в data[,1]
;чтобы распечатать соответствующие годы под каждым столбцом, вы получаете к ним доступ через rownames(data)
:
barplot(data[,1], main = "Proportions of unsolved crime per year",
names.arg = row.names(data), las = 3)
![enter image description here](https://i.stack.imgur.com/UrK9S.png)