r - 如何使用 which 函数来确定恰好包含两次数字 1 的行?
问题描述
使用该sample.int
函数创建M
从 {1, 2, ..., 10} 中选择的随机整数的 6x10 矩阵,我想知道如何使用 which 函数来确定恰好包含 2 个数字 1 的行.
M <- matrix(sample.int(10, size=6*10, replace=TRUE), nrow = 6, ncol = 10)
我要求答案只有一行 R 代码(当然,您可以在 1 行中调用多个函数!)。
我试过了length(which(M == 1))
。这计算了与值 1 匹配的元素的数量。我的第二次尝试是使用嵌套for
循环来解决问题,但我无法将解决方案减少到一行。我不知道是否有可以简化事情的 API 函数调用。
解决方案
我们可能会使用
which(rowSums(M == 1) == 2)
M == 1
给出一个TRUE
其中M
包含 1 的逻辑矩阵,然后rowSums
给出每行中 1 的个数,并which
给出结果.
推荐阅读
- php - 如何在 html 站点上执行来自 SDK 的命令?
- jenkins - 是否可以从构建步骤中检索响应?
- laravel - Laravel 5 中 whereHas() 中的多个 orWhere()
- java - 如何在 Android 中以编程方式添加焦点?
- jmeter-5.0 - 如何使用 JMeter 和 Firefox 修复问题“错误代码:SEC_ERROR_UNKNOWN_ISSUER”
- c++ - 使用QtableWidget c++ visual studio访问sqlite数据库
- python - Python分类定义特征重要性
- java - 如何检查行中的jTable空指针
- javascript - Ajax 使用函数或数组发布不同的数据
- python - sqlite3.OperationalError:表书有 6 列,但提供了 5 个值