这个问题是关于统计程序R的。
数据
我有一个数据框 ,study_data
它有 100 行,每行代表一个不同的人,三列,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 轴将分为男性和女性。但是,这些部分将按高度类别细分(因此总共有四个条形,每两个一组)。我想在条形顶部覆盖 95% 的置信带。
我试过的
我知道我可以使用MASS
库和xtabs
命令制作一个嵌套表:
ftable(xtabs(formula = ~ gender + height_category, data = study_data))
但是,我不确定如何将计算雀斑数量的中位数纳入此命令,然后将其显示在汇总表中。我也知道它ggplot2
可以用来制作条形图,但我不确定如何做到这一点,因为我一开始就无法计算出我需要的数据。