首页 > 解决方案 > 如何在R中使用if语句有2个条件

问题描述

我有这个数据框

点我

我想在购买为1时找到测试组(暴露)的总数

for (i in df$exposed) {
  if (i == "Test Group (Exposed)" && df$purchased == 1){
    
    print(i)

  }
} 

我不知道该怎么做...

标签: r

解决方案


我们通常sum用来计算事物——这在很多编程语言中都是正确的。TRUE 为 1,FALSE 为 0,所以 TRUE/FALSE 值的总和就是真数。在你的情况下:

sum(df$exposed == "Test Group (Exposed)" & df$purchased == 1)

没有for循环或print需要。

同样,您可以使用mean()获取 TRUE 值的百分比。

如果您想为组执行此操作(例如,获取所有exposed类别的 1 次购买的行数),请参阅关于如何按组对变量求和的常见问题解答。


推荐阅读