r - 用于将矩阵中的所有奇数值相乘的自定义函数
问题描述
我正在尝试在 R 中编写一个函数,该函数接受一个参数(矩阵)并将其中的所有奇数值乘以 0.618。
这是我到目前为止所得到的,但这是我第一次使用 R 矩阵并且不知道如何替换 for 循环中的值,或者在乘以数字后是否更好。
解决方案
你可以试试下面的代码
mat <- matrix(1:12, 3, 4)
mat2 <- mat * 0.618^(mat %% 2)
在哪里
%%
检查模数超过 2
> mat %% 2
[,1] [,2] [,3] [,4]
[1,] 1 0 1 0
[2,] 0 1 0 1
[3,] 1 0 1 0
0.618^(...)
给出系数
> 0.618^(mat %% 2)
[,1] [,2] [,3] [,4]
[1,] 0.618 1.000 0.618 1.000
[2,] 1.000 0.618 1.000 0.618
[3,] 0.618 1.000 0.618 1.000
推荐阅读
- html - 如何使用 CSS 覆盖包含元素的内联样式?
- c# - NullReferenceException:对象引用未设置为对象 PlayerMovement.Update () 的实例
- javascript - 如何使用jQuery获取在data-*中找到的特定值的第一个实例
- ios - 如何使用 RevenueCat 购买耗材?
- javascript - 嵌入的 PDF 在 chrome 和 safari 中呈现为空白
- html - 设置最小高度等于内容高度
- docker - 如何将 docker-compose 中的变量用作多个服务的命名卷?
- python - 如何对多个列上的数据集进行分组并同时进行不同的聚合?Python
- algorithm - 渐近符号图的解释
- python - 计算另一列时的列的相对引用