r - 如何替换数组中的值?

标签 r arrays loops for-loop if-statement

我有一个 1 和 2 的数组,我需要将值 2 更改为 0,但我知道该怎么做。有人可以帮助我使用 R.Thanck 中的代码

最佳答案

您可以尝试%%

arr <- arr %% 2

替换

replace(arr, arr == 2, 0),

或者只是-

2 - arr

或使用bitwAnd的更快版本

arr <- bitwAnd(arr, 1)

基准

set.seed(1)
arr <- sample(1:2, 1e6, replace = TRUE)
microbenchmark(
  arr %% 2,
  replace(arr, arr == 2, 0),
  2 - arr,
  bitwAnd(arr, 1),
  check = "equivalent"
)

给出

Unit: milliseconds
                      expr       min        lq      mean    median        uq
                    arr%%2 10.874101 11.269351 12.689352 11.537851 13.611351
 replace(arr, arr == 2, 0)  9.174002  9.542651 11.347834 10.070752 13.385150
                   2 - arr  1.477701  1.548151  3.076632  1.612951  1.981701
           bitwAnd(arr, 1)  1.322300  1.368951  1.678158  1.413750  1.537602
       max neval
 24.764601   100
 16.579201   100
 61.927400   100
  6.053701   100

关于r - 如何替换数组中的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72042864/

相关文章:

r - stat_smooth gam 与 gam {mgcv} 不同

r - 根据列中的唯一值在 R 中聚合

r - scatterplot3d 的 abline 替代品?

php - 在选择框中选择值数组中的其他值将出现在输入字段中

java - 在循环内递增对象名称

javascript循环每15分钟检查一次

r - update() 具有局部协变量的函数内的模型

Java递归-从数组中逆序整数,它是如何工作的?

ios - 如何对包含带有字符和小数的对象的数组进行排序?

javascript - Jquery 循环问题