如何将r中的数据框从正数转换为负数

How to convert data frame in r from positive to negative

我想将我的 r 数据帧乘以负 1,以便反转所有值的符号(将 + 变为 -,反之亦然):

这不起作用:

df_neg <- df*(-1)

还有其他方法吗?

假设您的数据框全是数字,您发布的代码应该可以工作。我假设您有一些我们需要解决的非数字值

# make a fresh copy
df_neg <- df

# now only apply this to the numeric values
df_neg[sapply(df_neg, is.numeric)] <- df_neg[sapply(df_neg, is.numeric)] * -1

这是一种仅更改数字列的简洁方法。

library(dplyr)

df_neg <- df %>% 
  mutate_if(is.numeric, funs(. * -1))

这是有效的:

data$negative = data$positive*(-1)