【发布时间】:2016-09-22 12:27:26
【问题描述】:
下面是我正在从 R 翻译成 Python 的脚本中的一行。我在 Python 方面的经验比在 R 方面更有经验,我在这里遇到了一些麻烦:
val = sum(l & f==v)
让l 为真/假值向量。让f 是一个平凡值的向量,而v 是f 的一些可能值来测试。我希望l 和f 的长度相同。 f==v 部分也将产生一个布尔数组。现在我的问题是&/ampersand(逻辑与,根据R documentation)在这种情况下会做什么。 sum() 函数是否会返回一个布尔数组的总和,该数组指示 l 和 f==v 布尔数组在哪里都为真?或者它会将两个数组的所有真实值相加并将它们相加吗?
提前谢谢你!
【问题讨论】:
-
对逻辑值求和,TRUE 为 1,FALSE 为 0(因此对条件 cond1&cond2 的结果求和,
l & f=v是与l和f==v长度相同的逻辑值向量,即sum 输出告诉您l & f==v中有多少 TRUE) -
例如,对于
l = [True, True, False]和f == v --> [True, False, True],会产生2 + 2 = 4 的结果吗? -
不,你会得到 1:
l & f==v会是c(TRUE, FALSE, FALSE)(看看你得到什么的最好方法是尝试一下......) -
非常有帮助!谢谢!
标签: r