【问题标题】:Apply an operation to some elements of a vector by using indices使用索引将操作应用于向量的某些元素
【发布时间】:2015-08-19 16:06:56
【问题描述】:

我有一个关于 R 中向量操作的相当基本的问题。我想通过使用包含元素索引的向量对向量的特定元素应用某个操作(即增量)。

例如:

ind <- c(2,5,8)
vec <- seq(1,10)

我想给 vec 的第 2、5、8 个元素加 1。最后我想拥有:

vec <- c(1,3,3,4,6,6,7,9,8,10)

我试过了

vec[ind] + 1
但这仅返回三个元素。当然,我可以使用 for 循环,但知道 R,我确信有一种更优雅的方式。

任何帮助将不胜感激。

【问题讨论】:

    标签: r vector


    【解决方案1】:

    我们必须分配它

     vec[ind] <- vec[ind] + 1
     vec
     #[1]  1  3  3  4  6  6  7  9  9 10
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-28
      • 2018-01-08
      • 1970-01-01
      • 2012-08-03
      • 1970-01-01
      • 2022-01-26
      • 2022-09-28
      • 1970-01-01
      相关资源
      最近更新 更多