r - R:基于索引的应用于向量
问题描述
鉴于:
original_vector <- c(2, 2, 2, 3)
indices <- c(1, 0, 0, 1)
我想将一些功能应用于original_vector
,但基于indices
. 例如,如果函数是“以 5 为增量”,我想要的输出将是[7, 2, 2, 8]
.
我知道如何使用 for 循环来做到这一点,但我想在apply系列中使用一些东西。
有类似的问题,但它们似乎比我自己的用例更复杂。
解决方案
如果您想使用apply
家庭中的某些东西,请考虑mapply
并提供这两个向量。mapply
并且自定义函数my_fun
采用两个参数:original_vector
和indices
。
my_fun <- function(vec, indices) {
vec[indices == 1] <- vec[indices == 1] + 5
vec
}
mapply(my_fun, original_vector, indices)
输出
[1] 7 2 2 8
推荐阅读
- reactjs - React 输入框不再起作用
- html - 如何使 HTML 表单向电子邮件地址发送数据?
- python - Scrapy - 从 CSV 获取数据时获取 nan
- php - Laravel 6 Blade - 显示公共文件夹中的所有图像?
- mongodb - 根据 mongo 中的值定义键
- javascript - 为什么可写数组不能正确更新 Svelte 组件内的值?
- postgresql - postgres 段错误并返回 SQLSTATE 08006
- excel - 创建一个只在它使用的工作表中运行的自定义函数吗?
- python - 如何在python 3中实现异步函数
- javascript - javascript / mysql 不在结果对象中返回消息