当前位置: 首页 > 知识库问答 >
问题:

在R mutate中使用条件和总结函数

虞华彩
2023-03-14

我目前在R中有一个数据框,看起来像这样

   V1 V2 V3 V4 Animal

1  2  2  3  5  Dog

2  2  4  3  1  Dog

3  1  4  1  1  Cat

4  5  5  1  3  Cat

5  5  5  5  3  Bird

6  3  3  3  4  Bird

我用group_by将数据按动物分组。我想创建一个新的列V6,它采用列V4,将较低的值除以较高的值,如果该值小于0.5,则V6= A,ifelse则V6 = b..有没有办法在R中使用带条件语句的mutate函数?实际的数据框要大得多,所以我宁愿不用手动操作。这是我希望最终数据框的样子

   V1 V2 V3 V4 Animal V6

1  2  2  3  5  Dog  A

2  2  4  3  1  Dog  A

3  1  4  1  1  Cat  A

4  5  5  1  3  Cat  A

5  5  5  5  3  Bird B

6  3  3  3  4  Bird B

这就是我开始做的

df %>% mutate(Type = if(min/max < .5)A,
              ifelse, B)

但我知道这是不对的。非常感谢。

共有2个答案

山阳辉
2023-03-14

您也可以在没有ifelse的情况下做到这一点

 df1 %>% 
   group_by(Animal) %>% 
   mutate(Type= c('A', 'B')[((min(V4)/max(V4)) >=0.5)+1L])
#  V1 V2 V3 V4 Animal Type
#1  2  2  3  5    Dog    A
#2  2  4  3  1    Dog    A
#3  1  4  1  1    Cat    A
#4  5  5  1  3    Cat    A
#5  5  5  5  3   Bird    B
#6  3  3  3  4   Bird    B
壤驷穆冉
2023-03-14

使用dplyr您可以尝试这个

dat %>% group_by(Animal) %>% mutate(new = ifelse(min(V4)/max(V4) < 0.5, "A", "B"))

#Source: local data frame [6 x 6]
#Groups: Animal

#  X1 V2 V3 V4 Animal new
#1  2  2  3  5    Dog   A
#2  2  4  3  1    Dog   A
#3  1  4  1  1    Cat   A
#4  5  5  1  3    Cat   A
#5  5  5  5  3   Bird   B
#6  3  3  3  4   Bird   B
 类似资料:
  • 本文向大家介绍Python函数和模块的使用总结,包括了Python函数和模块的使用总结的使用技巧和注意事项,需要的朋友参考一下 函数和模块的使用 在讲解本章节的内容之前,我们先来研究一道数学题,请说出下面的方程有多少组正整数解。 $$x_1 + x_2 + x_3 + x_4 = 8$$ 事实上,上面的问题等同于将8个苹果分成四组每组至少一个苹果有多少种方案。想到这一点问题的答案就呼之欲出了。 $

  • 如果这是一个愚蠢的问题,请事先原谅我。 所以,我目前正在检查WooCommerce购物车中的所有物品。 如果购物车中有一个产品属于“Practice”类别,而购物车中没有“Qualification”类别的产品,我想显示消息1 如果“练习”和“资格”类别都在购物车中,我想显示消息2。 现在,这是我的代码: 我有两个产品各有一个类别,一个有“练习”类别,一个有“资格”类别。 当我将这两个产品添加到购

  • 问题内容: 希望您能帮到我。我有一个DF,如下所示: 我很乐意做一个groupBy prodId并汇总“值”,以将其汇总为由“ dateIns”和“ dateTrans”列之间的差异所定义的日期范围。特别是,我希望有一种方法来定义一个条件总和,该总和将上述各列之间的预定义最大差之内的所有值相加。即从dateIns开始的10、20、30天之间发生的所有值(’dateTrans’-‘dateIns’<

  • 问题内容: 我正在尝试做的事情的广泛视角是,在预订系统被预订之日,找出整个系统中尚未进行的预订。这意味着计算存在的所有记录的数量,这些记录的后缀等于(或等于),按分组。请参阅以下假设示例,以获得更好的解释: 我想要结果: 但是我对如何构造查询完全不满意。有小费吗?谢谢! 编辑:为明确起见,number_of_reservations应该是该日期的预订数量,以及该日期之后几天的预订数量。换句话说,n

  • 本文向大家介绍PHP正则替换函数preg_replace和preg_replace_callback使用总结,包括了PHP正则替换函数preg_replace和preg_replace_callback使用总结的使用技巧和注意事项,需要的朋友参考一下 在编写PHP模板引擎工具类时,以前常用的一个正则替换函数为 preg_replace(),加上正则修饰符 /e,就能够执行强大的回调函数,实现模板引

  • 我目前正在使用kotlin quarkus和mutiny构建一个反应式应用程序,作为反应式编程的新手,我想知道处理以下工作流的最佳方式是什么: 尝试在数据库中查找项目(dynamodb) 如果存在,则向调用者返回一个指示此的值 如果不存在,请调用保存服务 致电外部服务获取一些数据 使用来自外部服务的数据更新数据库中的项目 返回一个值,指示已创建对象 以下是我目前的代码: 此方法最终将由resten