Я новичок в R и ищу помощи в построении графиков.
Я хотел бы сделать график распределения в R, который выглядит как гистограмма непрерывных данных, разделенных на столбцы с метками оси x между каждым столбцом, чтобы обозначить диапазон, захваченный в каждом столбце.
Однако вместо непрерывных данных у меня есть только сегментированные подсчеты. Я могу создать график с гистограммой, однако я не могу найти способ пометить МЕЖДУ столбцами, чтобы обозначить диапазон, захваченный в каждом столбце.
Я пробовал гистограмму, но не могу заставить метки падать между столбцами вместо того, чтобы рассматриваться как метки столбцов и падать непосредственно под каждым столбцом.
dat$freq = c(5,15,20,10)
dat$mid = c(-1.5,-.5,.5,1.5) #midpoint in each bucketed range
dat$perc = dat$freq/sum(dat$freq)
barplot(dat$perc, names.arg = dat$mid)
Каждый столбец помечен средней точкой. Вместо этого я хотел бы, чтобы метки были -2, -1,0,1,2 МЕЖДУ столбцами.
Спасибо!
редактировать: dput(dat) выходы:
list(freq = c(5, 15, 20, 10), mid = c(-1.5, -0.5, 0.5, 1.5), perc =
c(0.1, 0.3, 0.4, 0.2))
@fugu добавил - спасибо
Это то, что вам нужно?
df <- data.frame(freq = c(5, 15, 20, 10), mid = c(-1.5, -0.5, 0.5, 1.5), perc = c(0.1, 0.3, 0.4, 0.2))
Я использую потрясающую и настраиваемую библиотеку ggplot2 для построения графика, которая отображает график так, как я думаю, вы этого хотите. Вы можете установить это с помощью install.packages('ggplot2')
:
# install.packages('ggplot2')
library(ggplot2)
p <- ggplot(df)
p <- p + geom_bar(aes(mid, perc), stat='identity')
p
Можете ли вы вставить вывод
dput(df)
в свой вопрос?