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

如何将r中的数据帧从正转换为负,r,dataframe,scalar,R,Dataframe,Scalar,我想将我的r数据帧乘以-1,以反转所有值的符号(将+转换为-反之亦然): 这不起作用: df_neg <- df*(-1) df_neg假设您的数据帧都是数字,那么您发布的代码应该可以工作。我假设你有一些非数值,我们需要处理 # make a fresh copy df_neg <- df # now only apply this to the numeric values df_neg[sapply(df_neg, is.numeric)] <- df_neg[sapp

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

这不起作用:

df_neg <- df*(-1)

df_neg假设您的数据帧都是数字,那么您发布的代码应该可以工作。我假设你有一些非数值,我们需要处理

# 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
#重新复制

df_neg这里有一个只改变数字列的简洁方法

library(dplyr)

df_neg <- df %>% 
  mutate_if(is.numeric, funs(. * -1))
库(dplyr)
df_负%
如果(is.numeric,funs(.*-1))发生变化
这正在工作:

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

df_neg
的输出是什么?您的数据帧是否有任何非数值?(例如字符串或因子)代码应该工作(即使没有括号)。错误是什么?这的确是非数字的策略,我认为这是正确的策略。您还可以保存关闭
sel