我想在R
中绘制这些数据item response Freq
count -99 0.000
count -88 0.000
count -77 0.050
count 1 0.039
count 2 0.117
count 3 0.408
count 4 0.385
read -99 0.011
read -88 0.000
read -77 0.117
... ... ...
x轴应该是项目(所以计数,读取等,共19项),y轴应该是每个响应的频率(所以1,2,3,4,-77,-88, - 99)。所以这将是一个"分组" barchart本质上。
我无法使用R绘制此分组条形图。到目前为止,我尝试使用:
library(ggplot2)
ggplot(Data, aes(response, Freq*100, color = item)) +
geom_point(size = 4) + geom_line(size = 1, aes(group = item)) + ggtitle("Items") +
ylab("Frequencies %") + xlab("responses")
require(lattice)
barchart(Freq*100 ~ item, groups=response, Data, xlab="Items", ylab="Frequencies %")
非常感谢!
答案 0 :(得分:1)
您可以使用以下代码:
library(ggplot2)
ggplot(dat, aes(x=1, y=Freq, fill=factor(response))) +
geom_bar(stat="identity", position="dodge") +
facet_grid(~item) +
scale_fill_grey() +
theme_bw()
position="dodge"
并排对齐条形图。 facet_grid
使用每个“项目”的新图(即由名为“item”的变量指示的每个组)。 scale_fill_grey()
将灰色应用于条形,theme_bw()
删除灰色背景。
答案 1 :(得分:0)
试试这个:
dat <- read.table(header=TRUE, text="item response Freq
count -99 0.000
count -88 0.000
count -77 0.050
count 1 0.039
count 2 0.117
count 3 0.408
count 4 0.385
read -99 0.011
read -88 0.000
read -77 0.117")
使用ggplot2
:
library(ggplot2)
ggplot(dat, aes(x=item, y=Freq, fill=factor(response))) +
geom_bar(stat="identity")
答案 2 :(得分:0)
尝试黑白灰色图表:
barplot(with(ddf, tapply(Freq , list(response, item), mean)), beside=T, xlab="item", ylab="Freq")