この質問は、統計プログラムRに関するものです。
データ
データ フレーム があります。このフレームにはstudy_data
、それぞれが別の人物を表す 100 行と、、、、および の 3 つの列がgender
ありheight_category
ますfreckles
。変数gender
は要因であり、「男性」または「女性」のいずれかの値を取ります。変数height_category
も要因であり、「背の高い」または「短い」の値を取ります。変数freckles
は、個人のそばかすの数を示す連続数値変数です。
以下はデータの例です (Roland に感謝します):
set.seed(42)
DF <- data.frame(gender=sample(c("m","f"),100,T),
height_category=sample(c("tall","short"),100,T),
freckles=runif(100,0,100))
質問1
これらの患者を「男性」と「女性」に分け、さらに「背が高い」と「背が低い」に分割し、各サブグループの患者数と中央値を計算する入れ子になったテーブルを作成したいと思います。 95% 信頼区間の下側と上側のそばかすの数。
例
テーブルは次のようになります。# 記号は適切な計算結果に置き換えられます。
gender height_category n median_freckles LCI UCI
male tall # # # #
short # # # #
female tall # # # #
short # # # #
質問2
これらの結果が計算されたら、棒グラフを作成したいと思います。y 軸はそばかすの中央値になります。x 軸は、男性と女性に分けられます。ただし、これらのセクションは高さのカテゴリによって細分化されます (したがって、2 つのグループに合計 4 つのバーが存在します)。バーの上に 95% 信頼バンドを重ねたいと思います。
私が試したこと
MASS
ライブラリとxtabs
コマンドを使用して、ネストされたテーブルを作成できることを知っています。
ftable(xtabs(formula = ~ gender + height_category, data = study_data))
ただし、そばかすの数の中央値の計算をこのコマンドに組み込み、それを要約テーブルに表示する方法がわかりません。ggplot2
を使用して棒グラフを作成できることも認識していますが、そもそも必要なデータを計算できないため、これを行う方法がわかりません。