有选择地修改指数

chr*_*ris 7 r

是否有更短的方法来选择元素并进行修改?例如,在

y[y < 1] <- y[y < 1]*2
Run Code Online (Sandbox Code Playgroud)

对象y在一行中被引用4次.是否有可能减少这种重复?

Jos*_*ien 10

这是一个将引用数减少y1 的构造:

y <- -2:2
y[i] <- y[i <- y < 1] * 10

y
# [1] -20 -10   0   1   2
Run Code Online (Sandbox Code Playgroud)

但在实践中,我更有可能这样做,这可能不那么"聪明",但肯定更容易解析(对于人类):

i <- y < 2
y[i] <- y[i] * 10
Run Code Online (Sandbox Code Playgroud)

  • Waitaminute,你是如何在第一个例子中首先没有初始化`i`的? (2认同)