首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何计算每组中有多少细菌对抗生素产生抗药性。

如何计算每组中有多少细菌对抗生素产生抗药性。
EN

Stack Overflow用户
提问于 2016-10-06 18:09:51
回答 3查看 128关注 0票数 0

在某些情况下,我试图计算对1或1+抗生素的耐药情况。下面是我的电子表格的一个示例:

每种药物"1“表示耐药,"0”表示敏感性。

如果我想确定A组中对一种抗生素耐药的细菌的数量,我该怎么做呢?或者如果我想知道A组中有多少细菌对1种或更多抗生素有耐药性?

我已经为这件事挣扎了一段时间了,所以如果有人能为我指明正确的方向,我会很感激的。

理想情况下,我的输出应该如下所示

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-10-06 23:16:55

这些是数组公式。您必须使用Ctrl-Shift-Enter输入这些公式,Excel将神奇地插入大括号(您不能自己插入它们)。

对于确切的1阻力,请输入I2,因为我在下面的图中设置了该设置:

=SUM(($B$2:$B$11=$H2)*IF(MMULT($C$2:$E$11, TRANSPOSE(COLUMN($C$1:$E$1)^0))=1, 1, 0)) for typeA.

将公式向下拖动以获得B类型,如我的设置中所示。

=SUM(($B$2:$B$11=$H3)*IF(MMULT($C$2:$E$11, TRANSPOSE(COLUMN($C$1:$E$1)^0))=1, 1, 0))

对于超过一个电阻,在J2中,请使用:

=SUM(($B$2:$B$11=$H2)*IF(MMULT($C$2:$E$11, TRANSPOSE(COLUMN($C$1:$E$1)^0))>1, 1, 0)*(MMULT(IF($C$2:$E$11=9, 0, 1), TRANSPOSE(COLUMN($C$1:$E$1)^0))= COLUMNS($C$1:$E$1)))

再一次,拖拽公式得到typeB.

请注意,只有三个单元格范围/区域需要输入到公式中(尽管在几个点)。

  1. 类型列的数据范围。
  2. 电阻试验结果的数据区
  3. 药物的列标题(应与测试结果区域的宽度相同)。

如果为这些区域设置了命名范围,则可以将命名范围放入公式中,并且在数据范围更改大小时不必修改公式范围参数。但这是另一点..。

用于解释的编辑:--如果您计算公式部件,您可能会看到类似于(对于我提供的图像)的=SUM(({TRUE;TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE})*IF(MMULT({1,0,0;1,9,1;0,1,1;9,1,0;1,0,1;1,1,0;9,1,1;0,1,9;0,1,1;1,1,0},{1;1;1})>1, 1, 0)*(MMULT({1,1,1;1,0,1;1,1,1;0,1,1;1,1,1;1,1,1;0,1,1;1,1,0;1,1,1;1,1,1},{1;1;1})= 3))

如果乘以1或0,则为True或false。

“^0”的作用是将结果数组中的每个非零数转换为“1”。这使得矩阵乘法可以在数据集上进行,从而产生列向量。

TRANSPOSE({3,4,5}^0)变成:TRANSPOSE({1,1,1}),然后变成:{1;1;1}。注意逗号和分号之间的区别--这意味着1x3向量被转换为3x1向量。然后,您可以使用它作为第二个参数,用10x3矩阵进行矩阵乘法(在我们的例子中,就是数据集)。

MMULT的输出是表示某些输出的10x1列向量。

第一个MMULT用于测试任何细菌的行总数是否大于1;第二个MMULT用于查看是否所有细菌的行条目都是<> 9。

同样的事情也是对一个案子做的。MMULT函数一次用于确定细菌的行总数是否正好为1。

票数 0
EN

Stack Overflow用户

发布于 2016-10-06 18:22:22

为“抵抗计数”创建一个新列,并使用=COUNTIF(B2:D2,">=1")作为单元格E2并填充。然后,您可以按类型或阻力计数筛选表。使用SUBTOTAL对筛选过的行进行计数。

票数 0
EN

Stack Overflow用户

发布于 2016-10-06 20:43:28

我会这样做:

1)在表的右侧创建一个额外的列(名为" count "),每一行细菌数为1s。公式是:=COUNTIF(C2:E5, "1")

2)使用嵌套的IF语句在表右侧创建另一列(名为“电阻”)。公式是:=IF(F2=1,"Resistant to 1",IF(F2=0,"Resistant to 0","Resistant to More than 1"))

3)用这些数据创建一个数据透视表。将“电阻”放在“列”字段中,“类型”放在行字段中,“计数和”放在“值”字段中。

这应该能给你你想要的东西。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39902900

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档