r - 如何比较并找到常数和矩阵的每个元素之间的最小值?
问题描述
例如,我有一个名为“A”的 3x3 矩阵,其数字介于 1 到 10 之间,常数 = 5。我想创建另一个名为“B”的 3x3 矩阵,其中每个元素都是 A 元素和常数之间的最小值。我知道我可以使用 for 循环轻松做到这一点,但是有没有任何功能或更短的方法可以做到这一点?
例子
A[1,1] = 2 -> B[1,1]=min(A[1,1],constant) ->B[1,1]=2
A[1,2]=10 -> B[1,2]=min(A[1,2],constant) ->B[1,2]=5
解决方案
您可以使用pmin
:
set.seed(123)
A <- matrix(sample(1:10, 9), nrow = 3)
constant <- 5
pmin(A, constant)
# [,1] [,2] [,3]
#[1,] 3 5 1
#[2,] 5 5 5
#[3,] 2 5 5
推荐阅读
- git - 如何在 git repo 中维护 cscope 数据库
- asp.net-core - 如何为 .NET Core 的 Application Insights 设置 cloud_roleName?
- sql - 在 pl/sql 中调用过程时显示未初始化的集合
- javascript - 光滑的滑块同步缩略图未对齐(在 Shopify 上)
- cluster-analysis - 如何使用多列对文本数据进行聚类?
- php - 简单的 PHP API 在 Cpanel 中给出错误 500
- javascript - iPad上的按钮单击问题和模糊
- gradle - 如何在与 gradle 的战争中排除文件
- reactjs - 使用 React Router 路由目录
- excel - TCD 数据透视表 ADODB 访问