【发布时间】:2021-06-21 09:25:36
【问题描述】:
我是使用 R 的初学者,如果这是一个愚蠢的问题,我深表歉意。 我有一个数据框,其中有一列包含 7000 个值。我想计算该列中所有值 = 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]
【讨论】: