计算 R 中数据帧中值 <1 的负倒数

问题描述

我是使用 R 的初学者,如果这是一个愚蠢的问题,我深表歉意。 我有一个包含 7000 个值的列的数据框。我想计算该列中所有值 = 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]