【发布时间】:2013-03-08 07:11:49
【问题描述】:
我很难有效地做到这一点,如果这是一个基本问题,我深表歉意。我需要制作一个包含 N 和百分比的列联表来总结大量二元变量之间的关系,仅根据频率和百分比,没有其他汇总统计。
具体来说,它是总结具有样本类型 X 和临床结果 Y 的患者数量。一个患者可以有任意数量的结果和任意数量的样本,即每个变量是非互斥且独立的。
我想将所有结果(死亡、ICU 入院、腿脱落......)作为列,并将所有样本类型(血清、尿液等......)作为行。我只需要列出“阳性”反应的频率和百分比,即 N 和死亡和有尿样的患者的百分比。
有没有可以帮助这种桌子的软件包?我发现的所有东西都适合做一个漂亮的 1xN 变量列联表。如果我能以某种方式提取该输出的一列并将它们绑定到一个主表中以统治它们,我不介意为每个结果制作一个单独的表。另一个想法是以某种方式制作两个 mChoice(Hmisc 包)变量的频率表。我不知道这两种策略是否可行。
有什么想法吗?
我正在寻找的是这样的:
+-------------+--------+---------+
| | Death | ICU |
| | (N=10) | (N=50) |
+-------------+--------+---------+
|Serum (N=50) |5 (50%) | 30 (60%)|
+-------------+--------+---------+
|Urine (N=40) |10(100%)| 7 (14%) |
+-------------+--------+---------+
|Brain (N=25) |6 (60%) | 15 (30%)|
+-------------+--------+---------+
|Kidney (N=50)|7 (70%) | 40 (80%)|
+-------------+--------+---------+
编辑以包含示例数据:
set.seed(1)
death<-runif(1000)<=.75
ICU<-runif(1000)<=.63
serum<-runif(1000)<=.80
urine<-runif(1000)<=.77
brain<-runif(1000)<=.92
kidney<-runif(1000)<=.22
df<-as.data.frame(cbind((1:1000),death,ICU,serum,urine,brain,kidney))
【问题讨论】:
-
你能给我们一些样本数据吗? stackoverflow.com/questions/5963269/…
-
一些示例数据是:set.seed(1) 死亡
-
好的,在玩了一段时间之后,我不确定我是否理解它应该如何工作。查看示例表,我注意到 N 列的总和不等于该列中单元格 n 的总和。例如,有 N=10 人死亡,但有 10 人死于尿液,5 人死于血清。死亡人数怎么会比死亡人数多? N=10 死亡实际上意味着什么?
-
是的,问题正是如此——这些选项并不相互排斥。一个给定的病人可能有所有的结果,有些或没有。转移到重症监护室并不排除患者死亡或肾功能衰竭等。同理,给定患者可能有血清样本,尿液样本,两者都有,也没有,等等。所以如果有 N=10死亡总数,可能有多达但不超过 10 个死亡的尿液样本,10 个死亡的血清样本等。挑战是显示例如从肾功能衰竭患者身上采集了多少血清样本。这更清楚了吗?
-
好的,开始下沉了! @user2186883 请在下面查看我编辑的答案,看看是否符合您的要求。
标签: r frequency contingency