【问题标题】:How to multiply only a specific element in a vector in R如何仅将R中向量中的特定元素相乘
【发布时间】:2021-03-10 12:26:05
【问题描述】:

我有一个向量 x

x <- c(1,3,4,6,4,7)
[1] 1  3  4  6  4  7

我只需要将向量的第 4 个元素乘以 2,这样新的向量 y 看起来像 -

y 

[1] 1  3  4  12  4  7

关于如何在 R 中获得此功能的任何建议?

【问题讨论】:

  • 试试:x[4] &lt;- x[4] * 2

标签: r vector


【解决方案1】:

根据您的描述,这是一个简单的情况,将第四个元素乘以 2,然后将其替换为原始向量:

x[4] <- x[4] * 2

这只是将第四个元素乘以 2,然后将其放回原始向量的第四个位置,从而覆盖原始值:

x <- c(1, 3, 4, 6, 4, 7)

> x
[1] 1 3 4 6 4 7

x[4] <- x[4] * 2

> x
[1]  1  3  4 12  4  7

【讨论】:

    【解决方案2】:

    这是另一个使用replace + rep的选项

    y <- x * replace(rep(1, length(x)), 4, 2)
    

    【讨论】:

      【解决方案3】:

      或者使用replace中的索引

      replace(x, 4, x[4] * 2)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-07-02
        • 1970-01-01
        • 1970-01-01
        • 2014-05-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多