私は家計調査のデータを要約しています。そのようなデータのほとんどはカテゴリ(要因)データです。私は、特定の質問に対する回答の頻度のプロット(例えば、信頼区間を示すエラーバーがある特定の質問に回答している世帯の割合の棒グラフなど)を集計することを検討していました。私は私の祈り(http://www.cookbook-r.com/Manipulating_data/Summarizing_data/)への答えだと思っていたこの優れたチュートリアルを見つけましたが、これは連続データを助けるだけです。R比率の信頼区間係数
私が必要とするのは、これらの割合のカウントと標準誤差/信頼区間の比率を計算するのに似たものです。
基本的に私は私の調査データでは質問ごとに次のようになりサマリー表を生成することができるようにしたい:
# 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でbarplots(または類似)をプロットしたいと思う使用してこれらのサマリデータは、信頼区間を示すエラーバーで表示されます。
上記のチュートリアルで提供されているコードを修正して、上記の列を計算すると考えましたが、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された状態で
/私のために仕事をするコード!
http://docs.ggplot2.org/current/geom_errorbar.htmlについてご存知ですか? 'stat =" identity "引数を使ってbarplotをプロットすることができます。詳しくはhttp://docs.ggplot2.org/current/geom_bar.htmlを参照してください。より良い回答を得るために、再現性のあるデータを提供することをお勧めします。 –
こんにちはRoman、はい私はgeom_errorbarに関するggplot2のドキュメントを読んで、すでにバープロットを生成しています。しかし、geom_errorbarでは、エラーバーをプロットするための制限を指定する必要があります。そのため、まずデータを要約しようとしています。理想的には、私は49変数を持っているので、これを自動化する方法を探しています。 –
最初の3つのベクトル整数 '1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 'factor1' 1 3 1 1 1 3 1 1 1 3 1 1 1 2 2 3 3 3 1 2 2 2 2 2 1 1 1 3 3 3 3 3 3 2 1 1 3 1 3 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 factor 2 1 4 1 2 4 3 1 1 6 1 1 1 5 5 6 7 5 1 6 6 7 5 4 1 3 1 6 5 5 5 6 4 5 3 3 5 1 4 5 1 1 1 1 3 3 3 1 3 1 1 1 3 8' –