r-使用dplyr,如何在基于指示符的数据帧中取负值

  • 本文关键字:数据帧 指示符 dplyr 使用 r dplyr
  • 更新时间 :
  • 英文 :


我有一个数据帧,它包含一个指示符和一个值,只要该指示符="X〃;,我想谈谈公司的价值。

我可以使用which很容易地做到这一点,找到指数和否定,但我想使用dplyr

我们可以使用

library(dplyr)
df1 %>%
mutate(value = case_when(indicator == 'X' ~ -1 * value, TRUE ~ value))

考虑到您有这样的数据帧-

df <- data.frame(indicator = c('X', 'Y', 'X', 'X', 'Y', 'Y'), value = 1:6)
df
#  indicator value
#1         X     1
#2         Y     2
#3         X     3
#4         X     4
#5         Y     5
#6         Y     6

你可以使用-

df$value[df$indicator == 'X'] <- df$value[df$indicator == 'X'] * -1
df
#  indicator value
#1         X    -1
#2         Y     2
#3         X    -3
#4         X    -4
#5         Y     5
#6         Y     6

最新更新