计算R中数据框中值<1的负逆

Calculation the negative inverse of values <1 in a dataframe in R

我是使用 R 的初学者,如果这是一个愚蠢的问题,我深表歉意。 我有一个数据框,其中有一列包含 7000 个值。我想计算该列中所有 <1 的值的负逆(-1/值),同时保持所有值 >= 1 不变。

最简单的方法是什么?

假设您的数据名为 df 并且有一个名为 values 的列,您可以这样做:

ifelse(df$values < 1, 
       -1 / df$values, #negative inverse of all <1 
       df$values) #keep others the same

也许你可以像下面那样尝试replace

replace(v, v<1,-1/v[v<1])

或更数学的方法

(1 - 2 * (v < 1)) * v^(1 - 2 * (v < 1))

您还可以在条件为 TRUE:

的地方子集化并替换向量
v[v < 1] <- -1 / v[v < 1]