我正在尝试汇总家庭调查中的数据,因此我的大部分数据都是分类(因子)数据。我希望用对某些问题的回答频率图来总结它(例如,回答某些问题的家庭百分比的条形图,误差条显示置信区间)。我发现了这个出色的教程,我认为它是我祈祷的答案(http://www.cookbook-r.com/Manipulating_data/Summarizing_data/),但事实证明这只会对连续数据有所帮助。
我需要的是类似的东西,它可以让我计算计数的比例和这些比例的标准误差/置信区间。
本质上,我希望能够为我的调查数据中提出的每个问题生成如下所示的汇总表:
# X5employf X5employff N(count) proportion SE of prop. ci of prop
# 1 1 20 0.64516129 ? ?
# 1 2 1 0.03225806 ? ?
# 1 3 9 0.29032258 ? ?
# 1 NA 1 0.290322581 ? ?
# 2 4 1 0.1 ? ?
structure(list(X5employf = structure(c(1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L), .Label = c("1", "2", "3"), class = "factor"), X5employff = structure(c(1L, 2L, 3L, NA, 4L, 5L, 6L, 7L, 8L, 4L, 5L, 6L, 7L), .Label = c("1", "2", "3", "4", "5", "6", "7", "8"), class = "factor"), count = c(20L, 1L, 9L, 1L, 1L, 5L, 2L, 1L, 1L, 4L, 5L, 4L, 1L)), .Names = c("X5employf", "X5employff", "count"), row.names = c(NA, -13L), class = "data.frame")
然后,我想使用这些汇总数据在 ggplot (或类似的)中绘制条形图,误差条显示置信区间。
我曾想过修改上面教程中提供的代码来计算上面的列,尽管作为 R 的相对新手,我有点挣扎!我一直在尝试使用 ggply 包,但在语法上并不是很好,所以我设法使用以下代码做到了这一点:
> X5employ_props <- ddply(X5employ_counts, .(X5employf), transform, prop=count/sum(count))
但我最终得到了这个:
X5employf X5employff count prop
1 1 1 20 1.0000000
2 1 2 1 1.0000000
3 1 3 9 1.0000000
4 2 4 1 0.2000000
5 3 4 4 0.8000000
6 2 5 5 0.5000000
7 3 5 5 0.5000000
8 2 6 2 0.3333333
9 3 6 4 0.6666667
10 2 7 1 0.5000000
11 3 7 1 0.5000000
12 2 8 1 1.0000000
13 1 <NA> 1 1.0000000
我所有的比例都是 1,大概是因为它们是跨行而不是跨列计算的
我想知道是否有人可以帮助或知道可以为我完成这项工作的包/代码!