比较df的两列并在值增加的情况下创建新列,然后在其他列中写增加,对于减少则写相同

y

我有如下数据集

name   col1   col2
  a    10.3   10.9
  b    11     15 
  c    20     7.2
  d    6.2    6.2
  e    5.3    5.4
  f    4.5    4.0

我想比较我的df的col1和col2,并且我要创建另一列,在其中比较col1和col2的值时,如果col2的值从col1开始增加,那么我想在那一列中输入旁边的增加值,如果它们是减少然后我要写减少并且如果它们相同则没有变化

我想要这样的输出

name   col1   col2   col3
  a    10.3   10.9   increasing 
  b    11     15     increasing
  c    20     7.2    decreasing 
  d    6.2    6.2    no change
  e    5.3    5.4    increasing
  f    4.5    4.0    decreasing
尼尔森·冈

dplyr

 df %>% 
   mutate(Col3=ifelse(col2 == col1, 
                       "no change",
                             ifelse(col2 > col1,
                                    "increasing","decreasing")))

case_when按照@akrun的建议使用

df %>% 
  mutate(Col3 = case_when(col1 == col2 ~ "no change" ,
                          col2 > col1 ~ "Increasing",
                          TRUE ~ "decreasing"))

结果:

 name col1 col2       Col3
1    a 10.3 10.9 increasing
2    b 11.0 15.0 increasing
3    c 20.0  7.2 decreasing
4    d  6.2  6.2  no change
5    e  5.3  5.4 increasing
6    f  4.5  4.0 decreasing

数据:

df<-structure(list(name = c("a", "b", "c", "d", "e", "f"), col1 = c(10.3, 
11, 20, 6.2, 5.3, 4.5), col2 = c(10.9, 15, 7.2, 6.2, 5.4, 4)), class = "data.frame", row.names = c(NA, 
-6L))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在不创建新列的情况下增加数据框中的值?

Pandas:创建一个新列,在其他两列中的值之间交替

创建一对唯一值,并在其他列中以相同的值计算它们的出现次数

对于具有相同ID列表值且不在其他列中的每个记录

如何在不违反约束的情况下增加主键列中的现有值?

如果前一列中的值不同,则创建一个增加的计数器,但在其他列值更改时重置?

如何通过比较其他两个列来创建具有值的新列?

根据df中其他两个列的比较设置列值

如果值出现在其他数据框的列中,则创建新列

创建一个新列,在其他列中查找值

在同一行中但在其他列中都满足条件的情况下,在列中查找字符串值的行

Oracle SQL:在CASE语句中使用相同的别名在一种情况下选择一列,在其他两列中选择另外三列,并使用相同的别名

根据R中其他两个列的比较生成新的列值

仅在BigQuery中其他列具有特定值的情况下才选择值

基于行中的列值以及df中其他行中的列值创建新列?

sql - Postgresql,根据其他列值增加列

R创建一个新列,该列的值取决于其他两个列的匹配情况

在信息有限的情况下增加/减少值

如何根据其他两列中的 IF AND 使用设定值创建新列

Python:根据其他两列中的值有条件地创建新列

如何根据其他两列的值在 DataFrame 中创建新列

根据熊猫中其他两个列的匹配值创建新列

根据其他两个数据框列中的值条件创建新列

根据其他两列中的值创建是/否列

PHP仅在其他索引匹配的情况下按列过滤多维数组

如何在其他情况下使用列选择SQL

在 R 中,如何根据其他列的值从其他列的列标题创建新列

根据其他列中的值创建新列

根据其他列中的NA值创建新列