问题描述
我是使用 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]