标签: contingency

在双向频率/列联表中包括零频率

我正在尝试使用R中的table()为两个整数变量创建一个意外事件(频率)表,但表中的默认选项不包括每个变量范围内的所有值.例如:

a=c(1,2,3,5)
b=c(1,1,2,3)
table(a,b)
Run Code Online (Sandbox Code Playgroud)

收益:

  1 2 3
1 1 0 0
2 1 0 0 
3 0 1 0
5 0 0 1
Run Code Online (Sandbox Code Playgroud)

我想要给:

  1 2 3
1 1 0 0
2 1 0 0 
3 0 1 0
4 0 0 0
5 0 0 1
Run Code Online (Sandbox Code Playgroud)

这是一个简单的例子,其中值'4'不在其中一个向量中.我知道我可以将它操作成一个数组并添加一行零,但我想知道当变量可能跨越数百个(稀疏)整数值时,是否有更简单的方法来自动执行此操作.

r frequency contingency

3
推荐指数
1
解决办法
434
查看次数

R 中列联表的维恩图

我有一个像列联表这样的数据,它显示了大量的数据,但我想从这个数据帧中绘制维恩图。

我的数据结构:

species_abundance<-data.frame(Genus = c("Parasphingorhabdus", "Loktanella", "Cytobacillus", "Paracoccus", "Paucisalibacillus", "Kytococcus", "Salinibacterium", "Acinetobacter baumanni","Marinococcus","Bacillus"),
               S3 = c(0, 0, 1, 1, 0, 0, 1,0,4,0),
               S5 = c(0, 0, 0, 1, 1, 0, 1,0,3,5),
               S7 = c(3, 1, 0, 2, 0, 1, 0,0,3,1),
               S9 = c(0, 1, 0, 3, 0, 0, 0,1,2,0)
Run Code Online (Sandbox Code Playgroud)

我如何从这个数据框中绘制维恩图,以便找到不同站(S3、S5、S7......)的独特和共享物种?

如果我按照下面给出的方式转换数据并尝试使用 Venny2,我将得到这样的图像,类似的图像并发现我想使用 R 做,请帮助

species_abundance1<-data.frame(S3 = c("", "", "Cytobacillus", "Paracoccus", "", "", "Salinibacterium","", "Marinococcus", ""),
                          S5 = c("", "", "", "Paracoccus", "Paucisalibacillus", "", "Salinibacterium","", "Marinococcus","Bacillus"),
                          S7 = c("Parasphingorhabdus", "Loktanella", "", …
Run Code Online (Sandbox Code Playgroud)

r contingency venn-diagram dataframe venn

3
推荐指数
1
解决办法
244
查看次数

如何直接输入数据以生成表示列联表的data.frame?

我试图直接将以下数据输入R(代表一个列联表)

Area        School    Coffeshop    Hospitals    Parks    Totatl  
Washington     142          120           20       20       302   
Seattle        120          140           30       40       330 
Total          262          260           50       60       632
Run Code Online (Sandbox Code Playgroud)

我的代码是这样的:

n<-c("Area","School","Cofeeshop","Hospitals","Parks","Total") 
x<-c("Washington",142,120,20,20,302)
y<-c("Seattle",120,140,30,40,330)
z<-c("Total",262,260,50,60,631)
data<-cbind(n,x,y,z)
data<-data.frame(data)
Run Code Online (Sandbox Code Playgroud)

r contingency

2
推荐指数
1
解决办法
5765
查看次数

如何将数据帧转换为R中的列联表?

我有一个简单的问题.如何将数据帧转换为Fisher精确测试的列联表?

我有data大约19000行:

head(data)

          R_T1   R_T2    NR_T1  NR_T2
GMNN      14      60     70     157
GORASP2    7      67     39     188
TTC34      5      69     41     186
ZXDC       8      66     37     190
ASAH2      9      65     46     181
Run Code Online (Sandbox Code Playgroud)

我想将每一行转换为列联表来执行Fisher精确检验.例如,对于GMNN:

       R   NR
T1    14   70
T2    60  157

fisher.test(GMNN, alternative="two.sided")

Fisher's Exact Test for Count Data

data:  GMNN
p-value = 0.05273
alternative hypothesis: true odds ratio is not equal to 1
95 percent confidence interval:
0.2531445 1.0280271
sample estimates:
odds ratio 
0.5243787 
Run Code Online (Sandbox Code Playgroud)

由于我有19000行数据,我宁愿输出为: …

r contingency dataframe

2
推荐指数
1
解决办法
2082
查看次数

你如何强制在R中的表中包含一个级别?

是否有办法强制R的table功能包括行或列,即使它们从未出现在数据中?例如,

data.1 <- c(1, 2, 1, 2, 1, 2, 4)
data.2 <- c(1, 4, 3, 3, 3, 1, 1)

table(data.1, data.2)
Run Code Online (Sandbox Code Playgroud)

回报

      data.2
data.1  1 3 4
      1 1 2 0
      2 1 1 1
      4 1 0 0
Run Code Online (Sandbox Code Playgroud)

行中缺少3个,列中缺少2个,因为它们没有出现在数据中.

是否有一种简单的方法可以强制将其他行和列插入正确的位置,而是返回以下内容?

      data.2
data.1  1 2 3 4
      1 1 0 2 0
      2 1 0 1 1
      3 0 0 0 0
      4 1 0 0 0
Run Code Online (Sandbox Code Playgroud)

r contingency

1
推荐指数
1
解决办法
848
查看次数

如何在Haskell中表示数值表(例如列联表)?

在C中,最简单的方法是使用二维数组.那么Haskell呢?列表列表似乎不是一个优雅的解决方案.你会建议什么?

haskell multidimensional-array contingency data-structures

1
推荐指数
1
解决办法
113
查看次数

将指标列转换为计数表?

在R中,我试图将指标变量的数据框转换为计数表.

我的数据看起来像这样,其中A,B,C和D是不同条件的指示变量,ID1,ID2,ID3和ID4是患者ID.

test <- data.frame(rbind(c(0,0,0,1),c(1,0,0,1),c(1,0,0,0),c(1,1,0,0)))
colnames(test) <- c("A","B","C","D")
rownames(test) <- c("ID1","ID2","ID3","ID4"); test

    A B C D
ID1 0 0 0 1
ID2 1 0 0 1
ID3 1 0 0 0
ID4 1 1 0 0
Run Code Online (Sandbox Code Playgroud)

我想最后得到一个表格,其中总结了A,B,C和D的计数以及它们如何重叠:

  A B C D
A 3 1 0 1
B 1 1 0 0
C 0 0 0 0
D 1 0 0 2
Run Code Online (Sandbox Code Playgroud)

由于A,B,C和D是不同的变量,并且给定的ID可以有多个条目,我不确定如何实现这一点.谢谢你的帮助!

r contingency

1
推荐指数
1
解决办法
36
查看次数

翻转表中的列/行

我正在使用epiR软件包,因为它具有优秀的2比2列联表,比值比和人口归因分数.

通常我的数据被编码为0 =否1 =是

所以,当我这样做

tabele(var_1,var_2)
Run Code Online (Sandbox Code Playgroud)

输出以对齐的表格形式出现

在此输入图像描述

对于它的输入虽然epiR希望左上方为Exposed + VE Outcome + VE - 即左上方应为Var 1 == 1且Var 2 == 1

目前我通过将零重新编码为2或者通过设置为因子并使用重新级别来执行此操作.这些都对其他分析有点烦人,因为一般来说我希望Outcome + VE来自Outcome-VE

所以我想知道是否有一种简单的方法(在表内?)来翻转表的方向,以便它基本上反转行/列的顺序?

希望以上是有道理的 - 如果没有,我很乐意提供澄清.


编辑:感谢以下建议; 只是为了澄清我希望能够在从现有数据帧变量调用表时执行此操作 - 即我正在做的是表(数据$ var_1,数据$ var_2) - 理想情况下无需创建一个全新的对象

r contingency

1
推荐指数
1
解决办法
103
查看次数

根据列值对数据框执行多重卡方检验

chisq.test我有一个包含计数的数据框,我想对变量 Cluster 的每个值执行 a 。所以基本上,我需要 4 个列联表(对于“A”、“B”、“C”、“D”),其中行 = 类别,列 = 药物,值 = 总计。随后chisq.test应该对所有 4 个表格运行 a。

示例数据框

df <- data.frame(Cluster = c(rep("A",8),rep("B",8),rep("C",8),rep("D",8)),
                 Category = rep(c(rep("0-1",2),rep("2-4",2),rep("5-12",2),rep(">12",2)),2),
                 Drug = rep(c("drug X","drug Y"),16),
                 Total = as.numeric(sample(20:200,32,replace=TRUE)))
Run Code Online (Sandbox Code Playgroud)

r chi-squared contingency

1
推荐指数
1
解决办法
4465
查看次数

展开 2 x 2 列联表

我已加载以下格式的数据:

性别 是的
男性 2 1
女性 1 2

我想将其扩展为:

性别 结果
男性 是的
男性 是的
男性
女性 是的
女性
女性

我尝试过使用 Expand.table 函数epitools但没有成功。

expand r contingency dataframe frequency-table

1
推荐指数
1
解决办法
147
查看次数

如何输入3路表?

我有表格形式的数据(甚至不是R表),我想将它转换(或输入)到R来执行分析.

该表是一个三向列联表,如下所示: 在此输入图像描述

有没有办法轻松将其输入R?(只要我可以进行一些回归分析,它可以采用任何格式)

或者我需要手动输入它?

r input contingency

-4
推荐指数
1
解决办法
1546
查看次数